regex 使用正则表达式匹配以“Id”结尾的单词?

i34xakig  于 2023-05-30  发布在  其他
关注(0)|答案(6)|浏览(180)

如何组合一个正则表达式来匹配以“Id”结尾的单词,并进行区分大小写的匹配?

6ioyuze2

6ioyuze21#

试试这个正则表达式:

\w*Id\b

\w*允许字字符在Id前面,\b确保Id在字的末尾(\b是字边界Assert)。

suzh9iv8

suzh9iv82#

Gumbo得到了我的投票,然而,OP没有指定“Id”是否是一个允许的词,这意味着我会做一个小修改:

\w+Id\b

1个或多个单词字符,后跟“Id”和一个分隔符。[a-zA-Z]变体不考虑非英文字母字符。我也可以用\s代替\B作为空格而不是分隔符。这将取决于你是否需要多行换行。

gmol1639

gmol16393#

这可能会起作用:

\b\p{L}*Id\b

其中\p{L}匹配任何(Unicode)字母,\b匹配单词边界。

qoefvg9y

qoefvg9y4#

\A[a-z]*Id\z怎么样?[这使得Id之前的字符可选。如果需要在Id之前有一个或多个字符,请使用\A[a-z]+Id\z。]

bejyjqdl

bejyjqdl5#

我会用
\b[A-Za-z]*Id\b
\B匹配单词的开头和结尾,即空格、制表符或换行符,或者字符串的开头或结尾。
[A-Za-z]将匹配任何字母,* 表示匹配0+。最后是ID。
请注意,这将匹配中间有大写字母的单词,如'teStId'。
我使用http://www.regular-expressions.info/作为regex引用

swvgeqrz

swvgeqrz6#

Regex ids = new Regex(@"\w*Id\b", RegexOptions.None);

\b表示“断字”,\w表示任何单词字符。所以\w*Id\b表示“{stuff}Id”。由于不包含RegexOptions.IgnoreCase,因此它将区分大小写。

相关问题