简单的正则表达式问题

时间:2010-10-11 19:21:04

标签: c# regex

我是regex的新手(15分钟的经验),所以我无法想出这个。我只想要一些与字母数字字符串匹配且没有空格的东西。例如:

“ThisIsMyName”应匹配,但是 “这是我的名字”不应该匹配。

5 个答案:

答案 0 :(得分:4)

^[a-zA-Z0-9]+$将匹配字符串中没有空格(或任何标点符号)的任何字母和任何数字。它还需要至少一个字母数字字符。这使用character class进行匹配。击穿:

^       #Match the beginning of the string
[       #Start of a character class
  a-z   #The range of lowercase letters
  A-Z   #The range of uppercase letters
  0-9   #The digits 0-9
]       #End of the character class
+       #Repeat the previous one or more times
$       #End of string

此外,如果你想“捕捉”这个匹配以便稍后引用它,你可以用parens(capture group)包围正则表达式,如下所示:

^([a-zA-Z0-9]+)$

更进一步:既然你用C#标记了这个,那么MSDN在.NET中使用正则表达式有一些小的方法。它可以找到here。您还可以注意到,如果使用RegexOptions.IgnoreCase标志运行正则表达式,则可以将其简化为:

^([a-z0-9])+$

答案 1 :(得分:0)

尝试使用此正则表达式查看它是否有效:(\w+)

答案 2 :(得分:0)

这将匹配任何非空格字符序列:

\S+

答案 3 :(得分:0)

请查看此链接以获取良好的基本正则表达式信息来源:http://regexlib.com/CheatSheet.aspx

他们还有一个方便的测试工具,我使用了很多:http://regexlib.com/RETester.aspx

那就是说,@ eldarerathis'或@Nicolas Bottarini的答案应该适合你。

答案 4 :(得分:0)

我刚刚写了一篇关于正则表达式的博客文章,也许这可能是你觉得有用的东西:) http://blogs.appframe.com/erikv/2010-09-23-Regular-Expression