Javascript 正则表达式-在表达式中避免使用字符串

Javascript 正则表达式-在表达式中避免使用字符串,javascript,regex,string,Javascript,Regex,String,我正在尝试创建一个正则表达式,它应该匹配以下情况。 如果单词'first、second、third'完全匹配,则匹配应失败-但如果其周围有任何字符,则应匹配字符串 我还需要避免字符串中的某些字符集。[()!=”,]-如果这些字符是字符串的一部分,则匹配结果应失败 我看了几个例子&消极展望,但还没有得到正确的正则表达式 ^(?!first$|second$|third$|fou rth$)[^()!=<>", ]+ 正则表达式需要支持不区分大小写的单词 感谢您的帮助。我正在使用jav

我正在尝试创建一个正则表达式,它应该匹配以下情况。 如果单词
'first、second、third'
完全匹配,则匹配应失败-但如果其周围有任何字符,则应匹配字符串

我还需要避免字符串中的某些字符集。[()!=”,]-如果这些字符是字符串的一部分,则匹配结果应失败

我看了几个例子&消极展望,但还没有得到正确的正则表达式

^(?!first$|second$|third$|fou rth$)[^()!=<>", ]+
正则表达式需要支持不区分大小写的单词

感谢您的帮助。我正在使用javascript。

请尝试以下正则表达式:

^(?。*[()!=”,])(?!(?:第一|第二|第三)$)。+$

说明:

  • ^
    -断言字符串的开头
  • (?!.[()!=”,])
    -用于验证测试字符串是否不包含这些字符中的任何字符的负向前看-
    =
  • (?!(?:first | second | third)$)
    -此时我们处于测试字符串的开头。此位置不应紧跟(
    first
    second
    third
    )然后紧跟在字符串的末尾(
    $
  • +
    -匹配任何字符的1+次出现次数,但不匹配换行符
  • $
    -断言字符串的结尾

对于投反对票的人,你能解释一下你的理由吗?
first - fail
second - fail
1first - pass
first1 - pass
1first1 - pass
fou rth - fail - it has space in between word and is from ignore list
newTest - pass
new(test - fail - since ( is not allowed character
space word - fail - since space is non allowed character