如何编写正则表达式以匹配任何不符合特定模式的字符串?我面临的情况是我必须匹配(A和~B)模式.
Gum*_*mbo 191
您可以使用前瞻声明:
(?!999)\d{3}
Run Code Online (Sandbox Code Playgroud)
此示例匹配除以外的三个数字999.
但是如果您没有使用此功能的正则表达式实现(请参阅正则表达式风格的比较),您可能必须自己构建具有基本功能的正则表达式.
仅具有基本语法的兼容正则表达式将是:
[0-8]\d\d|\d[0-8]\d|\d\d[0-8]
Run Code Online (Sandbox Code Playgroud)
这也匹配任何三位数序列999.
Ale*_*eks 29
如果要匹配字符串中的单词A而不匹配单词B.例如:如果您有文本:
1. I have a two pets - dog and a cat
2. I have a pet - dog
Run Code Online (Sandbox Code Playgroud)
如果你想搜索有宠物狗的文本行而且没有猫,你可以使用这个正则表达式:
^(?=.*?\bdog\b)((?!cat).)*$
Run Code Online (Sandbox Code Playgroud)
它只会找到第二行:
2. I have a pet - dog
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
235916 次 |
| 最近记录: |