首先我知道匹配中文 unicode 应该使用
[\x{4e00}-\x{9fa5}]
然后我使用组和反向引用
([\x{4e00}-\x{9fa5}])\1
但结果是邻接,如“中中”。
我需要在文本中任何地方多次出现的所有字符。像
中国保持中立
^ ^
PS.我使用 textmate 编辑器。
有什么帮助吗?蒂亚!
你可以做:
匹配所有内容,直到该字符最后一次出现
([\x{4e00}-\x{9fa5}]).*\1
匹配所有内容,直到该字符下一次出现
([\x{4e00}-\x{9fa5}]).*?\1
如果您只想匹配文本中稍后出现的字符,并且您不想匹配其间的所有内容,并且是否支持前瞻
([\x{4e00}-\x{9fa5}])(?=.*\1)
这将不匹配最后一次出现!(因为文本中不再跟随该字符。)