我希望得到所有不以1,2,12,34开头的文字 我写了
^((?!1|2|12|34).)*$
(^断言一行开头的位置)
如:
https://gist.run/?id=ec8b3b11f4aa4232455605e2ce62872c
问题
如何限制
答案 0 :(得分:2)
答案 1 :(得分:1)
如评论中所述,您需要单词边界和正确的括号位置
-O2
<强> Regex Demo 强>
您也可以使用^(?!(?:1|2|12|34)\b)(.*)$
\D
在你的正则表达式
^(?!(?:1|2|12|34)\D)(.*)$
您正在查找上述替代^((?!1|2|12|34).)*$
中的任何一个是否在每个位置都是正确的。这就是为什么它不匹配1|2|12|34
答案 2 :(得分:1)
这有效
^(?!(?:12?|2|34)(?!\d)).+$
https://regex101.com/r/gI6sN8/19
您不希望它的数字之间的有效边界 从它开始,它后面的字符似乎是任何非数字。