我是regex的新手(15分钟的经验),所以我无法想出这个。我只想要一些与字母数字字符串匹配且没有空格的东西。例如:
“ThisIsMyName”应匹配,但是 “这是我的名字”不应该匹配。
答案 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