正则表达式用于匹配一些以后应该被忽略的字符
Regex for matching some characters that should be left out later
我将尝试用一个例子来解释我的情况,考虑以下字符串:
03 - The-Basics-of-Querying-the-Dom.mov
我需要删除所有 -
s(连字符),不包括数字后面的那个。换句话说,单词之间的所有 连字符 。
这是我创建的正则表达式:/([^\s])\-/
。但问题是,当我尝试替换时,space 之前的字符也被删除了。
按照我想要的结果:
03 - The Basics of Querying the Dom.mov
想一想,我可以使用排除组之类的东西吗?我试图在捕获组中使用 ?:
& ?!
来避免它被匹配,但没有给出任何积极的结果。
你可以这样做:
(?<=\w)-(?=\w)
我刚刚修改了你已经提出的正则表达式,使用正后视(只断言正确的位置):
/(?<=[^\s])\-/
我将尝试用一个例子来解释我的情况,考虑以下字符串:
03 - The-Basics-of-Querying-the-Dom.mov
我需要删除所有 -
s(连字符),不包括数字后面的那个。换句话说,单词之间的所有 连字符 。
这是我创建的正则表达式:/([^\s])\-/
。但问题是,当我尝试替换时,space 之前的字符也被删除了。
按照我想要的结果:
03 - The Basics of Querying the Dom.mov
想一想,我可以使用排除组之类的东西吗?我试图在捕获组中使用 ?:
& ?!
来避免它被匹配,但没有给出任何积极的结果。
你可以这样做:
(?<=\w)-(?=\w)
我刚刚修改了你已经提出的正则表达式,使用正后视(只断言正确的位置):
/(?<=[^\s])\-/