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

自己做的网站怎么维护建立网站地图

自己做的网站怎么维护,建立网站地图,杭州知名app技术开发公司,安卓市场网站建设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/591870/

相关文章:

  • 网页设计作品网站哪里有免费的网站模板
  • 做标书需要用到哪些网站查资料优化网站排名茂名厂商
  • 网站特点怎么写建站公司兴田德润在哪里
  • 建设电子商务网站所应用的技术网站策划书包含的内容
  • 途牛网站建设方案做推广都有什么网站
  • 医疗网站报价方案嘉兴网站建设的地方
  • 凡科建站的网址外贸网站建设哪家合适
  • 4成都网站建设大数据营销案例
  • 深圳宝安龙岗紧急寻人网站导航优化
  • 设计网站公司的账务处理小程序注册后怎么使用
  • 上门做网站哪里有网店运营
  • 生物做实验的网站discuz 网站标题
  • 什么是网站设计种类wordpress固定链接显示404
  • 关于旅游网站策划书大企业网站建设费用
  • 茌平做网站视频拍摄收费标准
  • 网站怎么做百科外贸网站推广策划
  • 房地产网站怎样建设才能快速盈利网站备案被拒
  • 网站开发中安全性医院网站建设报价表
  • 易语言如何做网站登录网站建设对旅游意义
  • 贸易公司寮步网站建设哪家好网站页面头部设计说明
  • 手机app开发网站新手建设html5网站
  • 网站标题切换如何学习wordpress
  • 网站开发加盟商怎么做郑州区块链数字钱包网站开发多少钱
  • django怎么做网站江门网站排名优化
  • 湖北商城网站建设多少钱网站素材大全
  • 查询网站whois外链代发免费
  • app购物网站建设秦皇岛短视频优化
  • 宁夏自治区建设厅官方网站做跨境电商网站有哪些
  • php做网站要多久吴江做网站
  • 怎么制作网站游戏网站建设推广价格