在ASP.NET中使用两个单词的正则表达式?

时间:2012-08-20 12:29:33

标签: asp.net regex

基本上我正在尝试编写一个可以接受两个单词的正则表达式,这些单词可以包含任何字母,但不包含数字。

我现在有:

^[a-zA-Z+#-.0-9]/s^[a-zA-Z+#-.0-9]$

虽然我确定这是错误的,因为它不允许两个单词用空格分隔,但它目前也允许数字。

有人知道我需要什么正则表达式来实现这个功能吗?

3 个答案:

答案 0 :(得分:2)

这应该可以做到! :)

//Allow letters and numbers
^\w+\s\w+$ 

//Allow only letters
^[a-zA-Z]+\s+[a-zA-Z]+$

答案 1 :(得分:2)

虽然使用\w速记字符类的内容可能适合您,但您专门编写了can contain any letters, but not numbers,因此您必须使用:

^[a-zA-Z]+\s+[a-zA-Z]+$

您的表达式允许数字(和+以及任何这些字符:#$%&*()-',.),因为您在字符类[a-zA-Z+#-.0-9]中包含了所有这些字符,这意味着小写和大写字母, +个符号,#.的任何ASCII字符(包括$%&*()-',)和任何数字0-9

速记字符类\w允许使用字母,数字和下划线(_

我可能会建议在为您决定解决方案之前运行一个关于正则表达式的简短教程...

答案 2 :(得分:1)

如下:

^\w+\s+\w+$