鱼C论坛

 找回密码
 立即注册
查看: 890|回复: 1

关于正则表达式的问题

[复制链接]
发表于 2019-2-20 15:20:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

>>> p = re.compile('x*')
>>> p.sub('-', 'abxd')


为什么这个的答案是'-a-b-d-'



>>> p = re.compile('section{ ( [^}]* ) }', re.VERBOSE)
>>> p.sub(r'subsection{\1}','section{First} section{second}')
'subsection{First} subsection{second}'

第一行中section右边的{ ( [^}]* ) }有什么用? re.VERBOSE又有什么用?

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-2 15:00:16 | 显示全部楼层
虽热正则表达式我看的也是有些懵逼,但这两个问题我可以回答帮助你
第一个我感觉答案错的 返回的应该是-a-b--d

第二个问题其实只需要看 ( [^}]* )这是一个子组,看子组里面的内容[^}]*,分开来看[^}]的意思是匹配除了}之外的任何内容,*的意思是 匹配的是0次或者多次,[^}]*和一起也就是匹配除了}号以外的任何内容0次或者多次。
re.VERBOSE这个标志使你的正则表达式可以写得更好看和更有条理,因为使用了这个标志,空格会被忽略。比如说{ ( [^}]* ) }里面是包含空格的,想让空格不影响到表达式,就用re.VERBOSE这个标志,如果不用的话就得这么写{([^}]*)}特别紧凑不好看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 00:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表