正则表达式匹配一个单词,如果该行包含另一个单词,则忽略该行

时间:2019-07-27 06:26:11

标签: regex

需要匹配[m]的行,而忽略[F]的行

regex仅需要选择第1和2行

1.[m]dfsd
 2.[M]
 3.[M]dfdfd[F]
 4.[M]dfsd[f]
 5.[m]dfd[F]
 6.[m]fsdf[f]

尝试了这个 (?=。 [m])(?!=。 [f])

1 个答案:

答案 0 :(得分:0)

您尝试使用先行方式是正确的。我会使用负前瞻来排除[F],然后在模式中的任何位置匹配[m]

^(?!.*\[[Ff]\]).*\[[Mm]\].*$

Demo

请注意,我使用[Mm][Ff]来区分男性和女性,因为它们不区分大小写。