使用 regex 的 javascript 正则表达式用多个 - 字符替换字符串

标签 javascript jquery regex

我目前有一串文本需要通过 jquery 进行修改。

 >    "space>space"

我目前有以下jquery来为我做替换

$('#breadcrumb').html($('#breadcrumb').html().replace(/&[^;]+;/g, ' - '));

我试图用单个 - 字符替换 >,但是上面的正则表达式只是将输入字符串更改为 ---而不是-

任何帮助将不胜感激!

最佳答案

那是因为你的正则表达式:

/&[^;]+;/g

正在寻找:

&      an ampersand, followed by
[^;]+  one or more characters that are not semicolons, followed by
;      a semicolon

因此  > 都匹配该模式。第二个/之后末尾的 g 表示进行全局替换 - 如果您将其保留,则只会替换第一个匹配项。

您需要:

.replace(/>/g, '-')

这会将 > 的所有实例更改为 -,同时忽略其他所有内容。

如果您特别想仅在 > 被不间断空格包围的情况下替换它,有几种方法可以做到这一点,其中最简单的可能是:

.replace(/ > /g, ' - ')

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

相关文章:

Javascript 正则表达式禁用 Shift、Alt 和 Ctrl 键

regex - 将一个字符串中的单词与另一个字符串中的另一个单词进行比较

javascript - 为什么会抛出这个 JS 错误?

javascript - 报价困难

jquery - 在移动设备上在同一行标注和输入

javascript - Jquery 为什么toggleClass 在这里不起作用?

jquery - 使用 jquery 在选项选择的基础上添加新的表单输入字段

javascript - 查找所有动态添加的选中复选框

在 JavaScript 中调用函数时出现 JavaScript 错误,而在 HTML 中调用函数时则不会出错

java - 正则表达式不起作用