如何只匹配不包含点的字符串(使用正则表达式)

tx3*_*415 18 regex

我试图找到一个只匹配字符串的正则表达式,如果它们包含点,例如它匹配stackoverflow,42abc47或者a-bc-31_4不匹配:.swp,stackoverflowtest..

Bob*_*man 36

^[^.]*$
Run Code Online (Sandbox Code Playgroud)

要么

^[^.]+$
Run Code Online (Sandbox Code Playgroud)

取决于您是否要匹配空字符串.一些应用程序可能隐含供应^$,在这种情况下,他们会是不必要的.例如:HTML5 input元素的pattern属性.

您可以在regular-expressions.info网站上找到更多有用的信息.


Tom*_*Tom 6

使用没有任何点的正则表达式:

^[^.]*$
Run Code Online (Sandbox Code Playgroud)

这是整个字符串中不是点的零个或多个字符。我过去使用的一些正则表达式库有获得精确匹配的方法。在这种情况下,您不需要^and $。在您的问题中使用语言会有所帮助。

顺便说一句,你不具备使用正则表达式。在java中你可以说:

!someString.contains(".");
Run Code Online (Sandbox Code Playgroud)