【问题标题】:Need help formatting string literal regex需要帮助格式化字符串文字正则表达式
【发布时间】:2014-08-20 19:24:57
【问题描述】:

我需要帮助创建一个正则表达式,我有一个名为 filter 的字符串。我需要使用 jQuery 函数 .replaceAll() 来搜索 {0} 的任何实例并将其替换为 value 变量。

我尝试了什么:

filter = filter.replaceAll('/^{0}$/', value);
filter = filter.replaceAll('/{0}/', value);
filter = filter.replaceAll('^{0}$', value);

【问题讨论】:

  • jQuery .replaceAll() 用于 DOM 操作,请参阅 api.jquery.com/replaceall。有人使用正则表达式和replace 发布了正确答案,这是一种字符串操作方法,当与正则表达式g 标志一起使用时可以替换多个实例。

标签: javascript jquery regex


【解决方案1】:

您需要转义在正则表达式模式中具有特殊含义的{ 和}。

试试\{0\}

删除 ^ 和 $ 以替换字符串中任何位置的所有匹配项。

  • ^ - 断言字符串开头的位置
  • $ - 在字符串末尾断言位置

这里是online demo

示例代码:(使用g修饰符匹配所有)

var re = /\{0\}/g;
var str = 'a {0} b {0} c';
var subst = '';

var result = str.replace(re, subst);

【讨论】:

  • @ism:您的正则表达式文字语法被单引号括起来。
  • 去掉正则表达式周围的字符串,这样的正则表达式不需要引号
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
  • 2012-11-30
  • 2023-03-19
相关资源
最近更新 更多