我正在寻找一个匹配的正则表达式,当数字不是以447或07或7开头时。
^((?!447|07|7).)*$
这个正则表达式排除了包含447,07,7的所有内容,但是,我需要它只在从这些数字开始时排除。
答案 0 :(得分:4)
您可以使用以下正则表达式:
^(?!447|0?7)\d+$
请参阅demo
否定前瞻限制了\d+
模式,并且不允许该数字以447
或07
或7
开头。
如果字符串之后可能包含任何字符,请使用
^(?!447|0?7).*$
请参阅another demo
顺便说一下,你的正则表达式有一个锚定的 tempered greedy token ,只匹配没有447
或07
或7
的任何字符串。
另请注意,.
匹配任何字符,但换行符。要允许匹配换行符,请使用单行模式或[\s\S]
。