San*_*hak 1 java regex matcher pattern-matching
我有一个下面的代码和平:
Pattern p = Pattern.compile("^\\d|^\\W|^\\s");
Matcher m = p.matcher("stack overflow");
Run Code Online (Sandbox Code Playgroud)
有人可以解释上面的正则表达式吗?它能做什么 ?我必须使它与现有功能之间不允许空格.例如,它不应允许"堆栈溢出",因为它包含空格.
编辑
我尝试的模式下面对我来说很好.谢谢大家的建议:
[a-zA-Z0-9_$#]
Run Code Online (Sandbox Code Playgroud)
您的正则表达式匹配单个数字,或任何不是单词的单个字符或任何单个字符,即空白字符.
这三种选择中的任何一种必须从主题的开头开始,因为你^在每次交替中都有.
根据您的描述,我想你想要一个这样的表达式:
^[\w#$]+$
Run Code Online (Sandbox Code Playgroud)
哪个匹配任何包含一个或多个单词字符[A-Za-z0-9_],哈希#和美元的内容$.单词字符不包含空格,因此这应该有效.
我添加了锚点^,$并确保它只匹配整个字符串(这是你想要的吗?)如果你只想在开头匹配你的例子,那么删除$.
请注意,在您的示例中,您将需要\在您的Java代码中转义,如下所示:
Pattern p = Pattern.compile("^[\\w#$]+$");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |