用正则表达式将相同的单词匹配两次,而不是关心单词是什么

Pho*_*cUK 11 javascript regex

请参考以下内容:

foo.foo aefhiuafhiauefheiauh bar.bar jgoeiajgoieajogiae baz.foo ogiejaogijaeoigjea
Run Code Online (Sandbox Code Playgroud)

假设我想匹配x.xx在点的两侧相同的位置.所以我不想匹配x.y.因此,通过示例输入,我会得到foo.foo,bar.bar而不是baz.foo

我想做的就像是

(\w+)\.$1
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用.

这是否可以使用正则表达式以任何理智的方式,或者我应该匹配x.y和处理代码的比较xy代码?

为了这个问题,假设我使用的是Javascript正则表达式引擎.

Hok*_*cha 22

试试这个:

/(\w+)\.\1/g
Run Code Online (Sandbox Code Playgroud)

http://regexpal.com/上测试并且有效.

编辑:添加全局修饰符,如TomTom正确建议.

  • 是的。工作正常。你是一位绅士,一位学者。我不能接受 9 分钟的答案,但如果可以,我会接受。 (2认同)
  • 对于那些不知道 `\1` 是什么的人:它被称为 **后向引用** (2认同)
  • @Emadpres 增强了解释反向引用的答案 (2认同)

Tom*_*Tom 5

应该与全球!

/(\w+)\.\1/g;
Run Code Online (Sandbox Code Playgroud)