十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
“.” 是特殊字符,正确表示应该是“\\.”。
成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、绵阳主机托管、等保安全、私有云建设等企业级互联网基础服务,欢迎咨询:18982081108
另外还有replace ,replaceAll ,这两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是
( [ { \ ^ - $ ** } ] ) ? * + .
转义时可以采用两种方式:
正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。
在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。
若想表示一个“\”,在 Java 代码中需要使用“\\\\”。
这需要的是正则表达式,和java没什么太大的联系。
到网上搜一下你想要的的正则表达式,然后按java的语法比较就可以了!
一般都是使用正则表达式,如下代码:\x0d\x0apublic static final String DEFAULT_QUERY_REGEX = "[!$^*+=|{}';'\",/?~!#¥%??*——|{}【】‘;:”“'。,、?]"; \x0d\x0a \x0d\x0a/** \x0d\x0a * 判断查询参数中是否以特殊字符开头,如果以特殊字符开头则返回true,否则返回false \x0d\x0a * \x0d\x0a * @param value \x0d\x0a * @return \x0d\x0a * @see {@link #getQueryRegex()} \x0d\x0a * @see {@link #DEFAULT_QUERY_REGEX} \x0d\x0a */ \x0d\x0apublic boolean specialSymbols(String value) { \x0d\x0a if (StringUtil.isBlank(value)) { \x0d\x0a return false; \x0d\x0a } \x0d\x0a Pattern pattern = Pattern点抗 pile(getQueryRegex()); \x0d\x0a Matcher matcher = pattern.matcher(value); \x0d\x0a \x0d\x0a char[] specialSymbols = getQueryRegex().toCharArray(); \x0d\x0a \x0d\x0a boolean isStartWithSpecialSymbol = false; // 是否以特殊字符开头 \x0d\x0a for (int i = 0; i
回答于 2022-12-11