我需要帮助将正则表达式匹配到匹配以“Id”结尾的单词并区分大小写的匹配项。正则表达式:匹配以“Id”结尾的单词
回答
尝试此正则表达式:
\w*Id\b
\w*
允许字字符的Id
前面和\b
确保Id
是在字的结束时(\b
是词边界断言)。
@epitka,请注意'\ w'也匹配数字和下划线。简而言之'___ Id'和'12345Id'的字符串也将被匹配。 – 2010-02-12 20:17:29
我给你一个upvote,但是外延并没有指定是否只是“Id”是允许的,所以我会试图改变*为+ – BenAlabaster 2010-02-12 20:19:17
最好的答案:简短易懂! – huug 2013-03-08 11:51:34
\A[a-z]*Id\z
怎么样? [这使得Id
之前的字符可选。使用\A[a-z]+Id\z
如果需要有前Id
一个或多个字符。]
Regex ids = new Regex(@"\w*Id\b", RegexOptions.None);
“\ B” 表示 “字破发” & \ W指的是任何单词字符,所以\ W *身份证\ B表示“{东西}ID”。通过不包括RegexOptions.IgnoreCase,它将区分大小写。
我会使用
\b[A-Za-z]*Id\b
的\ b词即空格,制表符或换行,或者开始或字符串的结束的开始和结束相匹配。
[A-Za-z]将匹配任何字母,而*表示0+匹配。最后是Id。
请注意,这会匹配中间有大写字母的单词,如'teStId'。
我用http://www.regular-expressions.info/为正则表达式参考
设置'a-z'不包括'é'和其他类似的字符。也许不是一个问题,但外延可能想知道的东西。 – 2010-02-12 20:18:44
[A-Za-z]与非英文字母字符不匹配,所以应避免使用\ w,除非可以保证只出现英文字母。 – BenAlabaster 2010-02-12 20:20:40
这可能做的伎俩:
\b\p{L}*Id\b
凡\p{L}
任何(Unicode)的字母匹配和\b
单词边界匹配。
\ p {L}在C#regex中工作吗?我以前从来没有见过,通常选择\ w – BenAlabaster 2010-02-12 20:18:19
@BenAlabaster,是的:http://msdn.microsoft.com/en-us/library/20bw873z.aspx#SupportedUnicodeGeneralCategories是的,也许'\ w'是对于OP来说足够了,但它比字母更匹配(请参阅我在Gumbo的帖子下的评论)。 – 2010-02-12 20:21:28
浓汤得到我的投票,但是,OP不指定是否只是“ID”被允许的话,这意味着我会做一个小的修改:
\w+Id\b
1个或多个单词字符后跟通过“Id”和一个突破的空间。 [a-zA-Z]变体不考虑非英文字母字符。我也可以用\ s而不是\ b作为空格而不是空格。这取决于你是否需要包装多行。
- 1. 正则表达式来匹配单词
- 2. 正则表达式以匹配以Javascript结尾的文件
- 3. 以e结尾的单词的正则表达式
- 4. 正则表达式ISSUE - 无法匹配以无结尾的URL
- 5. 正则表达式匹配以%结尾的字符串php
- 6. 正则表达式:匹配所有包含单词的单词
- 7. 用于匹配单词或单词的正则表达式
- 8. 正则表达式匹配后的词
- 9. PHP的正则表达式匹配词
- 10. Java正则表达式:以's'结尾的单词除特定单词外
- 11. 正则表达式 - 匹配一组词
- 12. 正则表达式匹配两个词
- 13. C++正则表达式匹配“+”量词
- 14. Perl正则表达式可以匹配CamelCase单词吗?
- 15. 正则表达式匹配特定函数调用的结尾
- 16. c#正则表达式来匹配字符串的结尾?
- 17. 正则表达式匹配所有以字符串开头并以字符串结尾的单词
- 18. 正则表达式以从位置13匹配到行尾的
- 19. 如何写正则表达式匹配结尾字
- 20. 让正则表达式匹配过去行结尾
- 21. 正则表达式匹配空格或字符串结尾
- 22. 正则表达式 - 匹配所有与数字结尾
- 23. 正则表达式匹配到文本结尾
- 24. 正则表达式拼写单词和字符串结尾
- 25. 简单的正则表达式匹配
- 26. 简单的正则表达式匹配
- 27. 正则表达式匹配C结构
- 28. 正则表达式匹配以y或z结尾的单词,但不是两个都一起
- 29. C++ 11正则表达式匹配不以句点结尾的完整单词吗?
- 30. 正则表达式匹配完整的单词,从第(JavaScript)的
这些词怎么样:'Id'(以'Id'开头和结尾)和'O'HaraId'(你想匹配'O'HaraId'还是'HaraId')和'foo-barId'(do你想匹配'foo-barId'或'barId')?简而言之:请定义“单词”的含义(或者你想要的是什么)。 – 2010-02-12 20:11:28