2013-03-11 72 views
0

我可以指定一個模式,並讓其他所有不適合要匹配的模式?匹配正則表達式的對立面:「([a-z]) 1 {3,}」

正則表達式匹配:我想匹配這樣的事情

我嘗試了所有準備這個例子:

"ffffffff".matches("([a-z])\1{3,}") = true 
"fffffasdf".matches("([a-z])\1{3,}") = false 
"asdffffffasdf".matches("([a-z])\1{3,}") = false 

但是什麼這個例子相反的方式?這其中不工作(?![a-z])\1{3,})

我需要這樣的比賽:

"ffffffff".matches(" ??? ") = false 
"fffffasdf".matches("(???") = true 
"asdffffffasdf".matches("???") = true 
+0

您正在使用什麼語言來實現這一目標?我不認識這個語法。 – jurgemaister 2013-03-11 08:29:01

+3

它與Joomla有什麼關係?一般來說,你不能爲此使用正則表達式,但你不需要。只是否定'matches()'的結果。 – 2013-03-11 08:31:35

回答

0

您可以使用negative lookahead

^(?!([a-z])\1{3,}$).* 
+0

非常感謝你,它的工作,但我不能正確地接受這個正則表達式:(^ 12 \ d {14} $ |^13 \ d {14} $)它以12或13+開頭(14個數字但不是14次相同號) – 2013-03-12 12:24:58