当前位置: 首页 > news >正文

企业网站优化分为哪两个方向宜昌seo优化

企业网站优化分为哪两个方向,宜昌seo优化,网站开发报价表的文档,中国手机最好的网站排名Python 正则表达式 引言正文示例1示例2示例3示例4 引言 今天遇到了一个比较棘手的问题&#xff0c;于是终于打算要对正则表达式中的 (?...) 和 (?<...) 符号动手了。 正文 (?...) 表示当 … 匹配时&#xff0c;匹配成功&#xff0c;但不消耗字符串中的任何字符。这个…

Python 正则表达式

  • 引言
  • 正文
    • 示例1
    • 示例2
    • 示例3
    • 示例4

引言

今天遇到了一个比较棘手的问题,于是终于打算要对正则表达式中的 (?=...)(?<=...) 符号动手了。

正文

(?=...) 表示当 匹配时,匹配成功,但不消耗字符串中的任何字符。这个叫做 前视断言 (lookahead assertion)。比如, Isaac (?=Asimov) 将会匹配 Isaac ,仅当其后紧跟 Asimov

在 Python 正则表达式 (…) 符号 一文中,我们说明了为什么要使用 () 符号以及 ... 符号的含义。事实上,上述的 (?=...)(?<=...) 中的 ... 符号可以被替换为任意的符号,这里为了方便说明问题,我们将 ... 符号替换为 \t 符号。

示例1

import restr1 = 'abc\tdefghi\txyz'
print(re.search('(?=\t)', str1))
"""
result:
<re.Match object; span=(3, 3), match=''>
"""

可以看到,它匹配到了索引值为 3\t 字符,但是由于它是前视断言,即向前搜索,而我们的匹配项中 (?=\t) 之前并没有任何字符,因此什么也没有匹配到。

示例2

我们对示例 1 中的匹配内容稍作更改。

import restr1 = 'abc\tdefghi\txyz'
print(re.search('abc(?=\t)', str1))
"""
result:
<re.Match object; span=(0, 3), match='abc'>
"""

此时可以看到,匹配到了字符串 abc

示例3

(?<=...) 表示如果 ... 的匹配内容出现在当前位置的左侧,则匹配。这叫做 肯定型后视断言 (positive lookbehind assertion)(?<=abc)def 将会在 abcdef 中找到一个匹配,因为后视会回退 3 个字符并检查内部表达式是否匹配。内部表达式(匹配的内容)必须是固定长度的,意思就是 abca|b 是允许的,但是 a*a{3,4} 不可以。注意,以肯定型后视断言开头的正则表达式,匹配项一般不会位于搜索字符串的开头。

上面的解释比较抽象,那么具体是什么意思呢?我们看一个例子。

import restr1 = 'abc\tdefghi\txyz'
print(re.search('(?<=\t)def', str1))
"""
result:
<re.Match object; span=(4, 7), match='def'>
"""

程序先找到 def 字符串,然后再回退一个字符查看 def 前面的字符是否是 \t 字符,如果是,那么就匹配 def 字符串。

示例4

如果我们想要匹配两个 \t 字符中间的部分怎么办呢?

import restr1 = 'abc\tdefghi\txyz'
print(re.search('\t(.*)\t', str1))
"""
result:
<re.Match object; span=(3, 11), match='\tdefghi\t'>
"""

可以看到,此时,结果中包含了两端的 \t 字符,但是我们不想要它包含 \t 字符。为了实现这一目标,我们可以采用刚才我们提到的后视和前视。

import restr1 = 'abc\tdefghi\txyz'
print(re.search('(?<=\t).*(?=\t)', str1))
"""
result:
<re.Match object; span=(4, 10), match='defghi'>
"""

可以看到我们匹配到了两个 \t 字符中间的字符串,但是上述写法并不严谨,为了严谨,我们可以使用:

import restr1 = 'abc\tdefghi\txyz'
print(re.search('(?<=\t)(.*)(?=\t)', str1))
"""
result:
<re.Match object; span=(4, 10), match='defghi'>
"""

如果大家觉得有用,就请点个赞吧~

http://www.yayakq.cn/news/339238/

相关文章:

  • 中国电信网站备案流程石排网站仿做
  • 建网站大公司服装设计学校
  • 上海个人医疗网站备案表南京网站c建设云世家
  • 模板和网站是一体的吗诸城人才网招聘网
  • 网站手机端怎么制作教程商城建设网站
  • 网站推广策划书天河区做网站公司
  • 好的flash网站青岛网站建设 上流
  • 申请完域名怎么做网站html友情链接代码
  • 网站的关键词在哪设置苏州建站模板展示
  • 上市公司协会网站建设汇报全国新冠疫苗接种率
  • 3d建站网站开发必须要搭建环境吗
  • 上海的设计网站手机编辑网页的软件有哪些
  • 企业网站建设都需要什么准备揭阳 网站建设
  • 东莞专业网站推广平台wordpress添加友情练级
  • 南京网络推广建站计算机网站建设 是什么意思
  • 接网站开发的公司举报网站建设情况
  • 网站上做百度广告赚钱么网站上如何设置行间距
  • 爱网郑州互联网seo使用教程
  • 长春网站制作方案定制PHP网站开发工程师招聘
  • 网站改版了怎么做php网站
  • wap网站服务器湖南优化电商服务有限公司
  • 北京做网站优化的科技公司做金属小飞机的网站
  • 住房和城乡建设部建设司网站首页能进封禁网站的浏览器
  • 网站建设的总结网站建设 精品课程
  • ps图做ppt模板下载网站有哪些网站分页效果
  • 开发区网站建设的目的怎么做淘宝返利网站吗
  • 建设网站去哪里找网络营销与策划实务
  • 网站软件免费下载wordpress建站 防攻击
  • 做简单网站用什么软件有哪些内容网站建设熊掌号
  • 网站专栏建设自动优化app