javascript - 有没有办法将这 2 个正则表达式模式合并为一个?

标签 javascript regex

我有这两种模式,在替换中删除多个连字符或下划线,然后只用一个替换它们,但看到那里,基本上是相同的,我很好奇是否可以将它们组合成一种模式。

url = url.replace(/([-]+)/g, '-');
url = url.replace(/([_]+)/g, '_');

我相信实际的模式只是 /([-_])/g,但我不知道如何判断是否应该用连字符或下划线替换它。

最佳答案

您可以使用反向引用:

url = url.replace(/([-_])\1+/g, '$1');

关于javascript - 有没有办法将这 2 个正则表达式模式合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356782/

相关文章:

javascript - 使用函数 javaScript function createElement(tagName) 创建图形

javascript - 如何在 Laravel 或 Django 的 Web 应用程序中实现指纹

在包含任何字符的设置中序列化 List<string> 的 C# 方法 (Regex/xml)

regex - 如何使用正则表达式匹配包含特定单词的行的第 N 个单词

javascript - 损坏的响应式设计(仅在 iPhone 上)- 可以使用 javascript 强制执行媒体查询吗?

javascript - 如何将 emberjs 中的项目列表中的特定项目信息链接到模板

javascript - jQuery 中随机元素的 Href

正则表达式 Scala 用于替换除空格和指定目标之外的所有内容

PHP 如何预匹配这个字符串?

javascript - 为什么 HTML5 模式属性中密码的有效正则表达式不起作用?