2014-05-02 42 views
3

之間如何使用正則表達式查找所有以abc開始,與def結束,但不包含在兩者之間123字符串,不`123` def`?正則表達式:檢查`abc`然後`在

+0

請指定的語言,或者你正在使用的程序,正則表達式的口味相差很大。 –

回答

7

您可以在這裏使用Negative Lookahead

^abc(?:(?!123).)*def$ 

正則表達式

^    # the beginning of the string 
abc   # 'abc' 
(?:   # group, but do not capture (0 or more times) 
(?!   # look ahead to see if there is not: 
    123   # '123' 
)    # end of look-ahead 
.    # any character except \n 
)*    # end of grouping 
def   # 'def' 
$    # before an optional \n, and the end of the string