gpt4 book ai didi

javascript - 检查单词前后的字符

转载 作者:行者123 更新时间:2023-11-30 14:54:21 25 4
gpt4 key购买 nike

我需要一个正则表达式,它结合了以下所有 3 个:

-- ^(.*)\.abc\.(.*)$
-- ^(.*)\.abc$
-- ^abc\.(.*)$

这样以下情况不适用于正则表达式:

-- 123abc
-- .abc123
-- 123abc.

下面的 f 给出了肯定的结果:

--.abc
--.abc.
--abc.

我知道这 3 个条件可以在一组中进行或运算。我正在寻找更好的解决方案,可能使用前瞻。

我尝试使用反向引用:/^.*([\.]*)abc\1.*$/ 但这对于负面情况也是正面的。

最佳答案

你可以使用这个正则表达式:

^(.*([.;]))?abc((?=[.;])\2.*)?$

RegEx Demo

正则表达式分解:

  • ^:开始
  • (.*([.;]))?:以任何内容开头,后跟点或分号(可选匹配)。请注意,我们在捕获组 #2
  • 中的 abc 之前进行捕获
  • abc:匹配abc
  • ((?=[.;])\2.*)?:以我们在 abc 之前捕获的相同字符和后面的任何内容(可选匹配)结束。前瞻断言用于确保我们不匹配空的反向引用 \2
  • $:结束

关于javascript - 检查单词前后的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47550112/

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