2012-07-22 157 views
-3

我想匹配包含带/不带空格的单词的字符串,但它应该至少包含一个非空格字符。这是低于正则表达式正确吗?正则表达式匹配单词至少一个字符

/[\w]*[\s]+/ 
+1

一个非空格字符?你能举出应该匹配什么的例子,以及不应该怎样?除了空格和单词字符之外还有什么东西可以匹配吗比如,如果标点符号存在,它应该失败吗?澄清,我会删除-1。谢谢 :) – FakeRainBrigand 2012-07-22 23:09:53

回答

0

当你想匹配必须包括一些字符串,最好的办法是把一个正向前查找在捕获的开头,所以如果你想确保会有一些空白字符,那么你应该从正则表达式((?=.*\s)...)开始,其中...是模式的其余部分。如果仅指空格键字符(因为\s也将匹配制表符字符\t和换行符\n\r),则以((?=.*)...)开头。

现在 - 你说的是什么意思?您使用了\w - 这是[a-zA-Z0-9_]的快捷方式。如果这是你想要的,那么你的正则表达式是((?=.*\s)[\w\s]*)((?=.*)[\w ]*)

但是,这将匹配字符串与一个空白字符,分别。只有空格栏字符,仅此而已。你应该澄清你的问题,因为我相信你想要别的东西,不是这个....

0

应该匹配,

计算器#2 - >应匹配任何字符,包括特殊字符

计算器2 - >应该匹配,即使有空格开始

应该不匹配,

   -> containing only blank spaces 
相关问题