【发布时间】:2016-04-14 21:06:22
【问题描述】:
我无法解决这个问题。在以“@....”开头的行列表中,我想创建一个表达式
首先:将匹配限制在以“@property”开头的行。
第二:仅将匹配行上的单词捕获到单个组中
额外:排除所有以破折号'-t'开头的单词/标签
我可以使用正向外观(ahead|behind)匹配以“@property”开头的行,但是,我无法仅匹配到行尾的单词。
我正在使用它为 sublime 文本包创建语法突出显示。
【问题讨论】:
-
规则不太清楚。你能详细说明一下吗?
-
您可以使用新的
regex模块来使用 \G 构造。使用这个,它可以用一个单步正则表达式来完成。否则,您将不得不通过回调(2 个步骤)来完成。匹配整行^@,,,,,,$然后在替换回调中,匹配其他项并放入一个数组中,然后返回整行进行替换。或者,无需替换,只需在循环中匹配行^@,,,(.*),然后在捕获组 1 上使用另一个正则表达式。
标签: python regex regex-lookarounds