如何匹配字符串中不包含特定单词且不包含字母和数字的单词的文本?

时间:2019-06-16 14:05:16

标签: regex

示例1:

withSelect

在该字符串中,我需要匹配withDispatch

示例2:

abc defg hi123

在该字符串中,我需要匹配defg

我有第一个模式,该模式与不包含“ abc”的文本匹配:

abc defg hijkl mn123

还有第二种模式,它匹配带有字母和数字的单词:

defg hijkl

但是我想我需要反转第二种模式以匹配不包含带有字母和数字的单词的文本-我试过了,但是没有成功。 然后,我想我需要将这两种模式与“ |”组合在一起(或没有):

\w+\b(?<!\babc)

1 个答案:

答案 0 :(得分:4)

也许这将使用单词边界和负前瞻来匹配您的值:

\b(?!\w*abc)[^\W\d]+\b
  • \b字边界
  • (?!\w*abc)断言右边的内容不包含abc
  • [^\W\d]+否定的字符类别,匹配除数字以外的单词字符1+次
  • \b字边界

Regex demo