[求助] 请问正则从后往前非贪婪匹配

2022-04-21 20:45:52 +08:00
 stultulo

请问想下面这种用重复片段 abc 组成的字符串

str = "abcaada2abcbfb3abccdsc4abcddd5"

想要匹配 abc4 及之间的字符:

abccdsc4

使用 abc4 作为定位符,结果

>>> print(re.search('abc.*?4', str))
<re.Match object; span=(0, 23), match='abcaada2abcbfb3abccdsc4'>

请教一下大家,该如何实现需求?感激

1067 次点击
所在节点    正则表达式
4 条回复
knir
2022-04-21 20:55:26 +08:00
abc((?!abc).)*4
stultulo
2022-04-21 21:08:11 +08:00
@knir 秒啊,感谢大佬
we9ta
2022-04-21 21:18:11 +08:00
.*abc(.*?)4

用到 group 就倒序了
stultulo
2022-04-21 23:17:20 +08:00
@we9ta 又一种解法,谢谢大佬

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848439

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX