正则表达式也是一种语言,在解析字符串领域独领风骚。
本文分享关于正则表达式中两个最常用的关键字\W及相关用法[\w\W]
前期准备工作(包括相关工具或所使用的原料等)IntelliJ IDEAJavaRegular expressions 详细的操作方法或具体步骤
\W:这个关键字代表 非一个字母、数字或下划线
与\w相反的意义了
先来看看测试的脚手架代码:
Code:
package chapter4;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexStudyDemo {
public static void main(String[] args) {
String regexStr="Hello[\\W]!";
List
System.out.println(isMatch(input, regexStr));
} private static boolean isMatch(List
boolean result=true;
for (String input : inputs) {
Pattern pattern=Pattern.compile(regexStr);
Matcher matcher=pattern.matcher(input);
if (matcher.matches()) {
continue;
}
System.out.println(String.format("%s is not match %s!", regexStr, input));
result=false;
}
return result;
}
}

上面待匹配的字符串中,\W部分并没有字母、数字、下划线
应该全部匹配
执行下看看结果:
Output:
true
与预期一致
OK

刚才不是说\W与字母、数字、下划线都不匹配
更改下代码
Code:
List

根据上面的解析
上面的三个字符串应该都不匹配
执行下看看结果
Output:
Hello[\W]! is not match HelloY!!
Hello[\W]! is not match Hello7!!
Hello[\W]! is not match Hello_!!
false
与预期一致
OK

细心的tx已经发现[\\w\\W]代码所有可能的字符
来测一下
更改代码
Code:
String regexStr="Hello[\\w\\W]!";
List
"Hello\b!", "Hello\t!", "Hello\"!",
"Hello\r!", "Hello\f!", "Hello\n!", "Hello-!",
"HelloY!", "Hello7!", "Hello_!");

按照上面的解析
应该是全部匹配
执行下看看结果
Output:
true
与预期一致
OK

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
