Regex 要匹配字符串中最后一个字符的正则表达式

Regex 要匹配字符串中最后一个字符的正则表达式,regex,Regex,假设我有以下字符串: cat Icat IIcat IIIdog Idog IIIbird I 我想用I匹配所有字符串,但不是II或III 所以正确的匹配会给我: cat I dog I bird I 我曾想过将I与后面没有其他字符的字符进行匹配,但也许有一种更直接的方法 这种模式的正则表达式是什么?您可以使用,因此正则表达式可以如下所示: ^.*\bI\b.*$ 试试这句话: ^(.*[^I])\I$ ^-字符串的开头 (.*[^I])-匹配除'I'以外的任何字符([^I]表示“不要捕捉

假设我有以下字符串:
cat I
cat II
cat III
dog I
dog III
bird I

我想用
I
匹配所有字符串,但不是
II
III

所以正确的匹配会给我:

cat I
dog I
bird I
我曾想过将
I
与后面没有其他字符的字符进行匹配,但也许有一种更直接的方法

这种模式的正则表达式是什么?

您可以使用,因此正则表达式可以如下所示:

^.*\bI\b.*$
试试这句话:

^(.*[^I])\I$
^
-字符串的开头
(.*[^I])
-匹配除
'I'
以外的任何字符(
[^I]
表示“不要捕捉
'I'
”)
\I
-匹配文字
'I'


$
-字符串结尾

这是一种可能的解决方案:

^.*\bI\b$
这可以用在C#中:

试试这个:

^[a-z|A-Z|0-9]+[^I]\s?I{1}$
我认为这是一个更准确的解决方案

^[a-z|A-Z|0-9]+[^I]\s?I{1}$