2014-11-04 66 views
1

我有一個正則表達式匹配所有根本不包含't' s或包含至少一個't'而不包含在順序'th'中的所有行。我想反轉它,以便它僅匹配那些包含'th'但不包含其他't'的行。反轉包含兩個表達式的正則表達式

^.*?t(?!h).*?$|^[^t]+$ 

這裏是一個示例輸入。表達式電流符合+符號的所有行。

thought +1 
though -1 
without +2 
within -2 
tenth +3 
thoth -3 
tents +4 
sample +5 
thirteenth +6 

我該如何寫這個表達式的負向前視,以便它只匹配帶有 - 符號的行?

回答

2

這應該工作:

^(?!.*t[^h]).*th.*$ 

這裏測試:http://regex101.com/r/jS5fW8/1

+0

+1我把難的路線。大聲笑 – hwnd 2014-11-05 00:27:14

+0

整潔!謝謝。 – 2014-11-05 00:52:52