正则表达式:匹配以“Id”结尾的单词
我需要帮助整理一个正则表达式,它将以“Id”结尾的单词与区分大小写的匹配相匹配。
试试这个正则表达式:
\w*Id\b
\w*
允许在Id
前面的单词字符和\b
确保Id
位于单词的末尾( \b
是单词边界断言)。
Gumbo获得了我的投票,然而,OP没有说明“Id”是否是允许的单词,这意味着我做了一个小修改:
\w+Id\b
1个或多个单词字符后跟“Id”和空格。 [a-zA-Z]变体不考虑非英语字母字符。 我也可以使用\ s而不是\ b作为空格而不是空格。 这取决于你是否需要包裹多行。
这可能会成功:
\b\p{L}*Id\b
\p{L}
匹配任何(Unicode)字母, \b
匹配字边界。
怎么样\A[az]*Id\z
? [这使得Id
之前的字符可选。 如果\A[az]+Id\z
之前需要一个或多个字符,请使用\A[az]+Id\z
。
我会用
\b[A-Za-z]*Id\b
\ b匹配单词的开头和结尾,即空格,制表符或换行符,或字符串的开头或结尾。
[A-Za-z]将匹配任何字母,而*表示0+匹配。 最后是Id。
请注意,这将匹配中间带有大写字母的单词,例如’teStId’。
我使用http://www.regular-expressions.info/进行正则表达式参考
Regex ids = new Regex(@"\w*Id\b", RegexOptions.None);
“\ b”表示“单词分隔符号”&\ w表示任何单词字符,因此\ w * Id \ b表示“{stuff} Id”。 如果不包含RegexOptions.IgnoreCase,它将区分大小写。