gpt4 book ai didi

javascript - javascript正则表达式中的变量

转载 作者:行者123 更新时间:2023-11-29 16:13:23 26 4
gpt4 key购买 nike

我看了很多关于这类问题的类似问题,但他们都没有解决我的问题......

这是我要匹配的字符串:“|6[1]|”其中“6”是我必须放入正则表达式中的变量。

我尝试创建一个(pid 是包含数字的变量):

var filter = new RegExp("/\|"+pid+"[\d*\]\|/");

它看起来不工作..尝试使用 chrome 控制台

enter image description here

最佳答案

当您从字符串构造正则表达式时,您不需要 / 分隔符:

var filter = new RegExp("\|"+pid+"[\d*\]\|");

/ 标记用于向解析器表示正则表达式文字的开始/结束,很像 "'标记表示字符串文字的开始/结束。在这种情况下,您使用的是字符串文字,因此不需要正则表达式文字分隔符。

您的实际正则表达式不起作用,因为:

  • 您错过了左方括号中的转义字符
  • 从字符串构建正则表达式时需要转义文字反斜杠

所以工作代码应该是:

var filter = new RegExp("\\|"+pid+"\\[\\d*\\]\\|");
// ^ ^^ ^ ^ ^ Add in these backslashes

关于javascript - javascript正则表达式中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21672347/

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