2012-04-13 177 views
0

我该如何制作一个与此类似的RegEx?正则表达式?

"Hi hello world" and "Hi world" 

我试图

/^Hi (hello)? world$/i 

但它不工作。

+0

注意单词之间的空格。我不知道javasript正则表达式的语法,但可能是你也应该转义一些特殊字符 – aland 2012-04-13 04:53:49

+2

你提出了“hello”一个可选捕获,但是现在你连续有两个空格... – 2012-04-13 04:53:59

回答

3
/^Hi(hello)? world$/i 

hello前的空间(或一前一后)也需要是可选的,否则要么匹配:

  • hi__world(下划线是“空格”)
  • hi hello world
+0

哦,我忘了多么愚蠢那个空间!谢谢! – 2012-04-13 05:04:23

0

尝试/^Hi (hello)?world$/i, 代码只匹配“嗨,你好世界”和“世界你好”

+0

这和他的一样! – joshuahealy 2012-04-13 04:55:17

0
Hi (\hello |)world 

管道符作品有“或”。所以,parens里面的表达匹配“hello”或者什么也没有。 您可以在这里测试您的Javascript regulare表达式: http://rejex.heroku.com/