2014-11-04 68 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