正则表达式匹配单词至少一个字符

时间:2012-07-22 23:05:13

标签: regex

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

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

2 个答案:

答案 0 :(得分:0)

当你想要匹配必须包含某些内容的字符串时,最好的方法是在捕获开始时放置一个正面的预测,所以如果你想确保有一些空白字符,那么你应该开始使用正则表达式模式((?=.*\s)...),其中...是模式的其余部分。如果您的意思是空格字符(因为\s也会匹配tab-char \t和新行字符\n\r),那么请从{{1}开始}。

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

但是这也会匹配一个空格字符,resp。仅限空格字符,仅此而已。你应该澄清你的问题,因为我相信你想要别的东西,而不是这个....

答案 1 :(得分:0)

应该匹配,

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

stackoverflow 2 - >即使以空格开头也应该匹配

不应该匹配,

                -> containing only blank spaces