我要做的是确保在某件事之后,以及下一件事之前,都有一个空格,但也可以是单词
例如hello <word> goodbye
或hello goodbye
当我试图在regex中检查这个时hello\s+.*\s+goodbye
这个代码的问题是,如果在hello和goodbye中间没有一个单词,那么它将查找两个空格,然后将其视为没有看到正确的内容。你知道吗
基本上,我试图确保有一个空间,只有一个空间,如果有或没有一个字之间的问候和再见。你知道吗
编辑:仍然习惯于正则表达式的严格定义。问题还在于有可能出现helloabcdef <word> goodbye
或hello <word> aksdjhsdflkhgoodbye
之类的内容,它们应该显示为false
如果只想匹配一个空格,那么为什么要将
\s+
与量词一起使用呢?将匹配1个或多个空格的。你应该只用\s
。你知道吗至于您的问题,您可以使用这个正则表达式来匹配这些字符串:
注意
\S+
的用法。这样可以确保只有当两个空格之间至少有一个非空白字符时,捕获组才会匹配。使用.
将不起作用,因为它匹配任何字符,因此也将匹配空格。而且,如果您使用\S*
,那么它还将匹配以下字符串:hello\s\sgoodbye
。注意这里有两个空格。你知道吗相关问题 更多 >
编程相关推荐