【发布时间】:2015-06-09 19:29:52
【问题描述】:
这是一个初学者的问题,但我才刚刚开始,需要一些帮助。
我有这个字符串:
dog and cat
使用 PCRE-Regexes,我想在没有空格的情况下匹配它并将其捕获为一个组,捕获dogandcatas $1。
我已经走到这一步了(\w*)。将括号放在捕获之外,然后读取任何字母、数字或下划线。这返回
dog。在这里看到它:
https://regex101.com/r/pL1bY1/3
现在我想跳过相邻的空格并继续使用and。我该怎么做?
【问题讨论】:
-
只启用全局标志regex101.com/r/pL1bY1/5。而你想要的输出不能单独通过正则表达式来实现。您需要一些语言工具来删除第一个组索引中存在的空间。
-
您也可以将
\s+替换为空字符串以消除所有空格。 -
将
/\s+/替换为//,然后匹配/\w+/。 -
如果您是初学者,为什么要这么具体
I want to match this without the whitespaces and capture it as a group, capturingdogandcatas $1.?正则表达式从左到右匹配,当您在缓冲区中捕获时,内容是连续的,来自dog...cat。如果不包括空格,你怎么能做到这一点? -
@LucasTrzesniewski 很好,但是如何仅使用 PCRE 正则表达式替换字符?