我正在尝试创建一个只返回单词的正则表达式,如果它包含一个字符串并且排除另一个字符串。
例如,如果我正在寻找单词“want”而不是“dontwant”,它会找到单词word_want_other
,但找不到单词word_want_other_dontwant
。
目前,我正试图让它与负面预测一起工作(见下文),但这仍然会在其中找到带有“默认”的单词。
.*want.*(?!dontwant).*
答案 0 :(得分:1)
这有效:
(?=.*want)(?!.*dontwant).*
它查找在行开头包含want
且不包含dontwant
后的任何字符串,如果它满足所有这些字符串,则返回整行。
我不完全确定为什么最初的想法不起作用,因为有一些工作,我试图回去找到介于两者之间的东西。对不起,没有更好的解释前一个出了什么问题。