我想将mm单元替换为cm代码中的单元。如果使用大量此类替代产品,我会使用regexp。
我做了这样的表达:
(?!a-zA-Z)mm(?!a-zA-Z)
Run Code Online (Sandbox Code Playgroud)
但它仍然像匹配的话summa,gamma和dummy。
如何正确组成正则表达式?
使用字符类,并将第一个(?!...)前瞻更改为后瞻:
(?<![a-zA-Z])mm(?![a-zA-Z])
^^^^^^^^^^^^^ ^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
模式匹配:
(?<![a-zA-Z])- 如果当前位置的左侧紧跟着一个ASCII字母,则负向后搜索将使匹配失败mm -文字子串(?![a-zA-Z])- 如果当前位置的右边紧跟着一个ASCII字母,则负匹配将使匹配失败注意:如果需要使您的模式支持Unicode,请替换[a-zA-Z]为[^\W\d_](re.U如果使用的是Python 2.x ,请使用flag)。
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |