gpt4 book ai didi

javascript - 正则表达式相同的参数

转载 作者:行者123 更新时间:2023-11-30 13:51:33 25 4
gpt4 key购买 nike

我正在尝试创建一个 RegExp 模式。盐文本是这样的:

Lorem --ipsum-- dolor !!ipsum!! sit amet

我想匹配 --ipsum-- dolor !!ipsum!! 但不知道 ipsum 会出现什么。我的意思是文本可能是这样的:

Lorem --asdasd-- dolor !!asdasd!! sit amet

我可以将这两个文本与 /--.*?--.*?!!.*?!!/g 匹配。对,我知道。

但我希望它在两个参数相同时匹配。例如,正则表达式模式不应与这些文本中的任何内容匹配:

Lorem --ipsum-- dolor !!asdasd!! sit amet
Lorem --qweqwe-- dolor !!asdasd!! sit amet
Lorem --qweqwe-- dolor !!ipsum!! sit amet

我怎样才能做到这一点?

最佳答案

您可以将此正则表达式与捕获组和反向引用一起使用:

/--([^-]+)--\s+\S+\s+!!\1!!/

RegEx Demo

如果 dolor 是静态字符串,则使用此正则表达式:

/--([^-]+)--\s+dolor\s+!!\1!!/

正则表达式详细信息:

  • --:匹配2个连字符
  • ([^-]+):匹配并捕获 1+ 个不是连字符的字符
  • --:匹配2个连字符
  • \s+:匹配1+个空白字符
  • \S+:匹配1+个非空白字符
  • \s+:匹配1+个空白字符
  • !!:匹配 2 个感叹号
  • \1:匹配与第 1 组相同的文本,即向后引用捕获第 1 组
  • !!:匹配 2 个感叹号

关于javascript - 正则表达式相同的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58137139/

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