jak*_*ine 2 javascript regex pattern-matching
假设我有以下字符串:
ZD:123123 ZD:213123 ZD:2e213 [ZD:213123] [ZD#221313] ZD:234...
我希望每次出现模式匹配,除非 ZD:234...因为我不想要任何有elipses的单词.
这个模式在JavaScript中很适合我:
/(\[|\(|)ZD[:#]\w+(\]|\)|)/g
但是,它仍然抓住了ZD:234的部分ZD:234...,我绝对不想做的事.
我怎样才能阻止正则表达式这样做?
一个简单的解决方法是使用负向前瞻:
/(\[|\(|)ZD[:#]\w+\b(\]|\)|)(?!\.\.\.)/g
Run Code Online (Sandbox Code Playgroud)
请注意,我还添加了\b以避免匹配ZD:23.
有点简化:
/[\[(]?ZD[:#]\w+\b[\])]?(?!\.\.\.)/g
Run Code Online (Sandbox Code Playgroud)
如果你想要匹配括号(否[ZD:123)):
/(?:ZD[:#]\w+|\[ZD[:#]\w+\]|\(ZD[:#]\w+\))\b(?!\.\.\.)/g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
710 次 |
| 最近记录: |