0

首先我知道匹配中文 unicode 应该使用

[\x{4e00}-\x{9fa5}]

然后我使用组和反向引用

([\x{4e00}-\x{9fa5}])\1

但结果是邻接,如“中中”。

我需要在文本中任何地方多次出现的所有字符。像

中国保持中立
^      ^

PS.我使用 textmate 编辑器。

有什么帮助吗?蒂亚!

4

1 回答 1

2

你可以做:

  1. 匹配所有内容,直到该字符最后一次出现

    ([\x{4e00}-\x{9fa5}]).*\1
    

    在 Regexr 上查看

  2. 匹配所有内容,直到该字符下一次出现

    ([\x{4e00}-\x{9fa5}]).*?\1
    

    在 Regexr 上查看

  3. 如果您只想匹配文本中稍后出现的字符,并且您不想匹配其间的所有内容,并且是否支持前瞻

    ([\x{4e00}-\x{9fa5}])(?=.*\1)
    

    在 Regexr 上查看

    这将不匹配最后一次出现!(因为文本中不再跟随该字符。)

于 2013-02-27T08:18:43.957 回答