正则表达式不是以多个单词开头的

时间:2015-08-27 10:52:58

标签: regex

我正在寻找一个匹配的正则表达式,当数字不是以447或07或7开头时。

^((?!447|07|7).)*$

这个正则表达式排除了包含447,07,7的所有内容,但是,我需要它只在从这些数字开始时排除。

1 个答案:

答案 0 :(得分:4)

您可以使用以下正则表达式:

^(?!447|0?7)\d+$

请参阅demo

否定前瞻限制了\d+模式,并且不允许该数字以447077开头。

如果字符串之后可能包含任何字符,请使用

^(?!447|0?7).*$

请参阅another demo

顺便说一下,你的正则表达式有一个锚定的 tempered greedy token ,只匹配没有447077的任何字符串。

另请注意,.匹配任何字符,但换行符。要允许匹配换行符,请使用单行模式或[\s\S]