反转包含两个表达式的正则表达式

时间:2014-11-04 23:56:30

标签: regex regex-negation regex-lookarounds

我有一个正则表达式,匹配所有根本不包含't'的行,或者包含至少一个不在序列'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

如何用负前瞻来写这个表达式,使它只匹配带有 - 符号的行?

1 个答案:

答案 0 :(得分:2)

这应该有效:

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

在这里测试:http://regex101.com/r/jS5fW8/1