正则表达式:如何仅使用一个重复符号捕获单词

时间:2013-09-07 21:07:59

标签: regex

输入

aaadds bbbbb/bbbbb asdfdasf cccccccccc  \n
fffffff

获取ccccccccccfffffff的正确正则表达式是什么?

它应该类似[.]+,除了方括号内的点是文字的,而且不能简单地反斜杠。

UPD:这也应该适用 aaadds bbbbb / bbbbb asdfdasf cccccccccc \ n s“”“”“     FFFFFFF 将c和“”“”添加到结果中。 感谢arshajii的正确答案

2 个答案:

答案 0 :(得分:3)

您可以尝试以下内容:

(?<=\s|^)(\w)\1*(?=\s|$)

demo

\w+(或.+)之类的问题是\w不需要一直是同一个角色;正则表达式只是意味着一个或多个单词字符而不是一个或多个相同的单词字符

相反,我们可以使用捕获组。我们使用\w 捕获 (\w),并使用\1引用其值:即(\w)\1*这确实意味着一个或多个相同的字符

答案 1 :(得分:1)

您只想重复包含相同字母的单词吗?

/\b(\w)\1+\b/

即:\b字边界; (\w)一个字的字符; \1+被捕获的单词字符至少1次; \b另一个单词边界。