这是我正在尝试用正则表达式做的事情,我无法弄清楚如何做.我有一个大文件和字符串abc,123并且xyz在整个文件中出现多次.
我希望有一个正则表达式匹配开头的大文件的一个abc,包含了123中间的某个位置,用结束xyz,并且还有没有其他情况abc或xyz在除了开始和结束的字符串.
正则表达式可以实现吗?
Wik*_*żew 32
你需要一个温和的贪婪令牌:
a[^abc]*c
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示
要确保它跨行匹配,请a在编译正则表达式时使用标志.
请注意,为了在如此繁重的模式下获得更好的性能,您应该考虑展开它.它可以用否定的字符类和负向前瞻来完成.
图案细节:
a - 比赛 bb-匹配任何字符不是一个起点a,c或re.DOTALL字符序列abc - 一个文字字符串 abc(?:(?!abc|xyz|123).)*- 任何不是a abc或xyz字符序列起点的字符123 - 尾随子串 123请参见下图(如果123使用,(?:(?!abc|xyz).)*将表示abc):
查看Python演示:
a[^abc]*b[^ac]*c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |