我想找到包含重复两次相同字符串的单词.(例如wookokss(ok/ok),ccsssscc(ss/ss)).我认为表达是\(\w*\)\0.
另一种尝试是找到由重复两次的相同字符串组成的单词.我的回答是\<\(\w*\)\0\>.(单词开头+分组(单词)+组捕获+单词结尾)
但它们不起作用.有人能帮助我吗?
要查找单词中重复两次的字符串,长度超过两个字符,可以使用
/\(\w\{2,}\)\1
Run Code Online (Sandbox Code Playgroud)
要匹配包含上述字符串的整个单词,您可以使用
/\<\w\{-}\(\w\{2,}\)\1\w\{-}\>
Run Code Online (Sandbox Code Playgroud)
一点点解释
\1-这是由第一子表达式的匹配的相同的字符串相匹配\(和\)(\0匹配的整个匹配的模式)\{n,}- 至少匹配n前面的原子,尽可能多\{-} - 匹配 0 个或多个前面的原子,尽可能少\w- 字符 ( [0-9A-Za-z_])\< - 一个词的开头\> - 一个词的结尾更多在 :help pattern
1.) 包含重复两次的相同字符串的单词。(例如 wookokss(好的/好的),
要查找包含两个或多个重复单词字符的单词,请尝试
\(\w\{2,}\)\1
Run Code Online (Sandbox Code Playgroud)
\1与第一组中捕获的内容匹配。
2.) 找到由重复两次的相同字符串组成的单词...
捕获\w\+一个或多个单词字符,然后\1捕获第一组中捕获的内容
\<\(\w\+\)\1\>
Run Code Online (Sandbox Code Playgroud)
应该是关于它的。看看这个教程。