正则表达式也是一种语言,在解析字符串领域独领风骚。
本文分享关于正则表达式中两个最常用的关键字\w用法
前期准备工作(包括相关工具或所使用的原料等)IntelliJ IDEAJavaRegular expressions 详细的操作方法或具体步骤
\w:这个关键字代表 一个字母、数字或下划线
先来看看测试的脚手架代码:
Code:
package chapter4;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by MyWorld on 2016/3/23.
*/
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(input + " is not match!");
result=false;
}
return result;
}
}

执行下看看结果:
Hello了! is not match!
false
java代码就不再介绍了。前面的一篇有
说下“\\w”,不是说好 的"\w",怎么你的代码中变成这两个反斜杠了
先息怒:
\在Java中是保留字符,是转义用的。转义转义,就是把以前的意思改变了
\w中前面就是一个普通的反斜杠,在java中要表达这个意思,就要输入两个\\,其它第一斜杠,是java中的转义符,第二个斜杠是要使用的字符,就是\w前面的这个斜杠了

不少眼尖的tx已经发现了,上面的代码执行时,返回false
是因为
“Hello\\w!”不能匹配“Hello了!”
即\w不能匹配汉字
童话里都是骗人的,不是说好的,可以匹配汉字的吗。。。

下划线和中划线比较像,试试
更改下代码
Code:
List

执行下看看是否匹配
Output:
Hello-! is not match!
false
与预期一致。
OK

试试两个字符和空格,看看行不行
更改代码
Code:
List

执行下看看结果是不是不匹配
Output:
Hello33! is not match!
Hello ! is not match!
false
与预期一致
OK

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