gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 20:59:41 25 4
gpt4 key购买 nike

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

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

我看了几个例子和负面展望,但还没有得到正确的正则表达式。

^(?!first$|second$|third$|fou rth$)[^()!=<>", ]+

期望的输出:

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

正则表达式需要支持不区分大小写的单词

感谢任何帮助。我正在使用 javascript。

最佳答案

试试这个正则表达式:

^(?!.*[()!=<>", ])(?!(?:first|second|third)$).+$

Click for Demo

解释:

  • ^ - 断言字符串的开始
  • (?!.*[()!=<>", ]) - 否定前瞻以验证测试字符串不包含任何这些字符 - ( , ) , ! , = , < , > , , ,
  • (?!(?:first|second|third)$) - 此时我们处于测试字符串的开头。此位置不应紧跟(firstsecondthird),然后在字符串末尾($)
  • .+ - 匹配出现次数超过 1 次的任何字符,但不匹配换行符
  • $ - 断言字符串结束

关于javascript - 正则表达式 - 避免在表达式中使用字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47236712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com