我想检查给定的字符串,如果单词 TEST 出现在字符串中,那么它不在模式([])中。 对于以下示例字符串,正则表达式应返回 true :
对于以下示例字符串,应返回 false :
感谢
答案 0 :(得分:3)
/\[.*TEST.*\]/g
你问的反面(see Regex101 demo),只做一个'!'比赛前
答案 1 :(得分:3)
你可以使用这个前瞻性正则表达式:
^(?!.*\(\[(?:(?!\(\[|\]\)).)*TEST(?:(?!\(\[|\]\)).)*\]\))(?=.*TEST).*
(?!..)
出现在该行的任何位置,则([..TEST..])
为否定匹配为负面预测。(?=.*TEST)
是确定该行包含TEST