在下面的句子中,只能提取 Hi_There_1 和 Hi_There_2 的正则表达式是什么:
Hi_There_1 = TRUE or Hi_There_2 = TRUE
我试过了:
/(?!TRUE)\w+/g
但它匹配所有单词。 注意:字词 Hi_there_1 或 Hi_there_2 也可以是任何其他字符串。目标是排除 = , 或 和 TRUE 总是。
答案 0 :(得分:2)
即使您的解决方案适用于您的示例,它也不会为您提供其他输入的正确结果,例如像这样Hi_There_1 = TRUE or Torro_Rosso = TRUE
方括号[
定义 set 字符,但不定义 order 。因此,在您的解决方案中,您排除了包含字母T
,R
,U
和E
的任何字词(o
和{{1}相同}})。这就是上述示例中未检测到r
的原因。
请尝试使用此正则表达式:Torro
它会捕获您要在第二组中删除的部分,但由于它是非捕获组(即(\w+)(?:TRUE|or|=|\s)*
),因此不会返回该组。