给定字符串
编辑:我只想匹配单词的第一次或最后一次出现。
我知道这个问题可以通过拆分字符串并计算每个标记(将其转换为小写)来更好地回答。然而,我想尝试制定一个正则表达式来帮助我找到这些单词,只是为了练习。
我的第一次尝试是:
我想通过使用正向后查和负向前查来获取重复单词的最后一个实例:
很不幸,它对我不起作用。
能否以这种方式使用正向后查和负向前查?我的正则表达式能否修复?我已经尝试在C#中解决它。
"A B C a b B"
,我想要匹配重复的单词(不考虑大小写)。期望的结果是匹配"A"和"B"(第一次出现的A和B)或"a"和"b"(最后一次出现的a和b)。编辑:我只想匹配单词的第一次或最后一次出现。
我知道这个问题可以通过拆分字符串并计算每个标记(将其转换为小写)来更好地回答。然而,我想尝试制定一个正则表达式来帮助我找到这些单词,只是为了练习。
我的第一次尝试是:
(?=\b(\w+)\b.*\b(\1)\b)(\1)
,但它匹配第一个A、第一个B和第二个b(A B b)。我想通过使用正向后查和负向前查来获取重复单词的最后一个实例:
(?<=.*(?!.*(\w+).*)\1.*)\b\1\b
(在我的头脑中,它被翻译为“之前已匹配过但不会再次匹配的单词”)。很不幸,它对我不起作用。
能否以这种方式使用正向后查和负向前查?我的正则表达式能否修复?我已经尝试在C#中解决它。