正则表达式匹配一些应该稍后遗漏的字符

时间:2016-05-15 09:49:02

标签: regex pcre

我将尝试用一个例子解释我的情况,考虑以下字符串:

03 - The-Basics-of-Querying-the-Dom.mov

我需要删除除数字后面的所有- s(连字符)。换句话说,单词之间的所有连字符

这是我创建的REGEX:/([^\s])\-/。但问题是,当我尝试替换时,空格前的角色也被删除了。

根据结果我的目标是:

03 - The Basics of Querying the Dom.mov

想想,我可以使用类似排除组的东西吗?我尝试使用?:&捕获组中的?!以避免匹配,但没有给出任何积极的结果。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

(?<=\w)-(?=\w)

Demo

答案 1 :(得分:0)

我刚刚使用正面的lookbehind(仅断言正确的位置)修改了你已经建议的RegEx:

/(?<=[^\s])\-/