我需要创建一个匹配类似的正则表达式:
JG2144-141/hello
或
!
但不是:
laptop bag
或仅由空格字符组成的字符串(' '
)。
现在我有[A-Za-z0-9-!/\S]
,但它不起作用,因为它仍然与笔记本电脑和包分别匹配。它根本不应该与笔记本电脑包和空字符串相匹配。
答案 0 :(得分:1)
\S
中的[A-Za-z0-9-!/\S]
使此字符类等于\S
,但您要确保字符串中的所有字符都是非空白字符。这就是为什么你应该用^
和$
锚包装模式,并在+
之后添加一个\S
量词来匹配这个子模式的一次或多次出现。
您可以使用
^\S+$
请参阅regex demo
<强>详情
^
- 字符串开头\S+
- 一个或多个非空白字符$
- 字符串结束。