我对正则表达式还很陌生(只有15分钟的经验),所以我无法解决这个问题。我只想要一个可以匹配没有空格的字母数字字符串的正则表达式。例如:
"ThisIsMyName" 应该匹配,但是 "This Is My Name" 不应该匹配。
^[a-zA-Z0-9]+$
可匹配字符串中的任何字母和数字,不包含空格(或任何标点符号)。它还要求至少有一个字母数字字符。这使用了一个字符类进行匹配。分解如下:
^ #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
另外,如果您想要“捕获”匹配结果以便稍后引用,可以将正则表达式用括号(捕获组)括起来,例如:
^([a-zA-Z0-9]+)$
RegexOptions.IgnoreCase
标记运行正则表达式,则可以简化为:^([a-z0-9])+$
。尝试使用这个正则表达式看看是否有效:(\w+)
这将匹配任何非空格字符序列:
\S+
看一下这个链接,它是一个很好的基本正则表达式信息来源:http://regexlib.com/CheatSheet.aspx
他们还有一个方便的测试工具,我经常使用:http://regexlib.com/RETester.aspx
话虽如此,@eldarerathis或@Nicolas Bottarini的答案应该适合你。
我刚刚写了一篇关于正则表达式的博客文章,也许你会觉得有用:) http://blogs.appframe.com/erikv/2010-09-23-Regular-Expression