首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >匹配字母、数字和下划线的C#正则表达式

匹配字母、数字和下划线的C#正则表达式
EN

Stack Overflow用户
提问于 2009-05-20 02:08:45
回答 4查看 83K关注 0票数 33

我正在尝试用C#创建一个正则表达式模式。该模式仅允许:

  • letters
  • numbers
  • underscores

到目前为止,我运气不好(我不擅长RegEx)。这是我到目前为止尝试过的:

代码语言:javascript
复制
// Create the regular expression
string pattern = @"\w+_";
Regex regex = new Regex(pattern);

// Compare a string against the regular expression
return regex.IsMatch(stringToTest);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-20 02:11:07

编辑:

代码语言:javascript
复制
@"^[a-zA-Z0-9\_]+$"

代码语言:javascript
复制
@"^\w+$"
票数 45
EN

Stack Overflow用户

发布于 2009-05-20 02:21:57

@"^\w+$“

\w匹配任何“单词字符”,定义为数字、字母和下划线。它是Unicode感知的,所以它将匹配字母和变音之类的(比试图滚动您自己的字符类,如A-Za-z0-9_,它将只匹配英文字母要好)。

开头的^表示“在这里匹配字符串的开头”,结尾的$表示“在这里匹配字符串的结尾”。如果没有这些,例如,如果你只有@"\w+",那么"@@Foo@@“就会匹配,因为它包含一个或多个单词字符。如果使用^和$,则"@@Foo@@“将不匹配(听起来就像您要查找的内容),因为字符串的开头没有后面跟着一个或多个单词字符,后面跟着字符串的结尾。

票数 29
EN

Stack Overflow用户

发布于 2009-05-20 02:11:25

尝试使用像http://www.weitz.de/regex-coach/这样的工具,它可以让您以交互方式开发正则表达式。

它是为Perl设计的,但帮助我理解了正则表达式在实践中是如何工作的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/885860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档