我想要拿出一个正则表达式匹配只有非字母字符的字符串。正则表达式匹配如果字符串没有字母符号
例如:
".."
将是true
".dds!f"
将false
- 和
"sdjhgfsjd"
将false
。
我试过str.matches("\\p{Punct}")
但是,这似乎只匹配单个功能性字符。例如。 ".".matches("\\p{Punct}")
将是true,但"..".matches("\\p{Punct}")
将是错误的。
我想如果字符串中有任何字母数字字符,也会匹配一个等价的问题。
难道你不能做一个匹配并放在前面的'!'吗?像'!stringVar.matches(“[A-Za-z0-9]”);' – AntonH
首先,您需要添加'+'来匹配一个或多个'\ p {Punct}'。第二件事:关于空格(它们不是字母数字,但也不是'\ p {Punct}'),它们应该匹配还是不匹配?还应该使用英文以外的其他语言的字母,比如'źźć'匹配吗? – Pshemo
谢谢Pshemo加入+似乎工作。我的意思是,如果我可以得到一个匹配任何字母数字字符的表达式,我可以简单地否定它,并获得解决我原来只有非字母数字字符的字符串匹配问题的解决方案。同样在我的特殊用例中,不应该有空格或其他语言字符。再次感谢。 – user1893354