javascript - 正则表达式有一个异常(exception) - 如果数字是下一个符号,则不匹配所有内容

标签 javascript jquery regex

您好,我需要一些帮助来创建更好的正则表达式。 我有以下文字:

Welcome.to-RegEx_r.v2.0.03.by.gski.v2.0.03 danner.com!bla-la_122.232-13!

我需要的是,删除所有点、破折号和下划线,但如果有像“v2.0.03”这样的字符串,则跳过删除点并从不是来自 version(dot, dash,下划线、字母/字符)因此字符串必须如下所示:

 Welcome to RegEx r v2.0.03 by gski v2.0.03 danner com!bla la 122 232 13!

我尝试过并且几乎可以使用这个正则表达式:

([\.\-\_])(?![\d])

但是如果点、破折号或下划线之后的下一个字符是数字,则不起作用。这是我在 regexr 中的尝试 - http://regexr.com/3b7qu

最佳答案

您可以使用此正则表达式:

var str = 'Welcome.to-RegEx_r.v2.0.03.by.gski.v2.0.03 danner.com!bla-la_122.232-13!';

str = str.replace(/(?:(v\d+(?:\.\d+)+) *)?[._ -]+/g, "$1 ");
//=> Welcome to RegEx r v2.0.03 by gski v2.0.03 danner com!bla la 122 232 13!

RegEx Demo

关于javascript - 正则表达式有一个异常(exception) - 如果数字是下一个符号,则不匹配所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30914611/

相关文章:

javascript - 新的随机数 jQuery

C# 正则表达式捕获不带空格的子字符串

javascript - 如何在没有给定模式的情况下将字符串拆分为相同的部分?

javascript - 为 tumblr 访问计数器创建短行 JavaScript

javascript - 如何从 Drupal 7 中的特定内容类型中删除 CSS 和 JS

javascript - 使用 jQuery 扩展从数据库导入文本的文本区域宽度

jquery - 单击展开的 div 行为很奇怪

java - 为什么我的缓冲 `String` 与 `RegEx` 模式不匹配?

javascript - 未知提供商 : $uibModalProvider <- $uibModal <- modalPopDirective

javascript - 简化 javascript if 语句,其中条件相同,但变量除外