首先我知道匹配中文unicode应该使用
[\x{4e00}-\x{9fa5}]
然后我使用组和反向引用
([\x{4e00}-\x{9fa5}])\1
但结果是邻接,如“中中”。
我需要文本中任何地方出现多次的所有字符。 喜欢
中国保持中立
^ ^
PS.I使用textmate编辑器。
有任何帮助吗? TIA!
答案 0 :(得分:2)
你可以这样做:
匹配所有字符直到该字符的最后一次出现
([\x{4e00}-\x{9fa5}]).*\1
匹配所有内容直到该角色的下一次出现
([\x{4e00}-\x{9fa5}]).*?\1
如果您只想匹配文字中稍后出现的字符,并且您不希望匹配其间的所有字符,并且如果支持lookaheads < / p>
([\x{4e00}-\x{9fa5}])(?=.*\1)
这与上次发生的情况不符! (因为该字符在文本中不再跟随。)