正则表达式:匹配以“Id”结尾的单词

时间:2010-02-12 20:03:56

标签: c# regex

我需要帮助整理一个正则表达式,该正则表达式将匹配以“Id”结尾的单词与区分大小写的匹配。

6 个答案:

答案 0 :(得分:56)

试试这个正则表达式:

\w*Id\b

\w*允许Id前面的单词字符和\b确保Id位于单词的末尾(\b是单词边界断言)。

答案 1 :(得分:9)

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

\w+Id\b

一个或多个单词字符后跟“Id”和空格。 [a-zA-Z]变体不考虑非英语字母字符。我也可以使用\ s而不是\ b作为空格而不是空格。这取决于你是否需要包裹多行。

答案 2 :(得分:6)

这可以解决问题:

\b\p{L}*Id\b

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

答案 3 :(得分:4)

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

答案 4 :(得分:2)

我会用左     \b[A-Za-z]*Id\b
\ b匹配单词的开头和结尾,即空格,制表符或换行符,或字符串的开头或结尾。

[A-Za-z]将匹配任何字母,而*表示0+匹配。最后是Id。

请注意,这将匹配中间带有大写字母的单词,例如'teStId'。

我使用http://www.regular-expressions.info/进行正则表达式引用

答案 5 :(得分:1)

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

“\ b”表示“分词”& \ w表示任何单词字符,因此\ w * Id \ b表示“{stuff} Id”。如果不包括RegexOptions.IgnoreCase,它将区分大小写。

相关问题