这个问题已经有了答案:
Reference - What does this regex mean?
1个答案
我明白它在更高层次上的作用…它检测重复的单词。我很难理解这是如何运作的逻辑。我希望你能纠正我,如果我的理解是错的。另一个细节是假设我在linux机器上使用grep。
\ B将检测第一个字符。
\ W+将扫描这些字母。
现在我感到困惑的是。
括号将把字母“存储”到第一个空格或真正的第二个空格
然后/1将重复步骤1到3,然后进行比较,如果它们匹配…显示。
如果可能的话,我会感谢外行的条件。

最佳答案

(\b\w+) \1\b检测重复单词。例如,abc abcaaa aaax123_ x123_
单词是单词字符的序列,定义如下。
根据模式(ascii、locale或unicode),单词字符将匹配字母表(可以依赖于locale)、数字(可以依赖于locale)和下划线。
\b检测单词边界,这是一个可以在单词字符之前或之后(但不能同时在两者之前)找到单词字符的位置。
上面的正则表达式有一个小缺陷。如果单词重复3次或更多,则在替换为捕获组1时,它将只删除重复单词的一半。

09-30 15:12
查看更多