2013-10-08 45 views
-2

我试图创建一个正则表达式匹配单词和空格:正则表达式的单词和空格?

"Hello There" - Match 
"#Hello" - No Match 
"123Hello" - No Match 

它不应该是这样的:

(*[a-zA-Z]* *) 

我需要定义一个方法starts_with_consonant?(s),需要一个字符串,返回true如果它以辅音开头,否则为假。

出于我们的目的,辅音是“A”,“E”,“I”,“O”,“U”以外的任何字母。

这是一门课程。

+2

你为什么不试试?另外,你能提供一些关于你想达到什么的信息吗? – ppeterka

+0

http://rubular.com/r/x5soHBbt1n这是否意味着它会匹配或不是我不能说,因为有时它会说没有匹配,但其他人会显示并突出显示一些,所以如果我把#Hello在它会匹配它所有?我现在在学校,或者我会试试 – MikaAK

+1

我不确定我是否理解这个问题。你开始表明你想匹配单词和空格。你的例子显示你想匹配一个空间的东西。而你的最终请求表明你想匹配以辅音开始的东西。你能澄清一下吗? – lurker

回答

1

这似乎工作:

(?<=^|\s)[a-zA-Z]+(\s+[a-zA-Z]+)*(?=\s|$) 

见这个live demo与你的例子(及其他)


工作

如果只想匹配整个输入相匹配,交换一下变通为^$

^[a-zA-Z]+(\s+[a-zA-Z]+)*$ 

见这个live demo

0

我想这样做几乎任何你想要的东西:

\A(\w*\s+\w+)+\Z