IntelliJ IDEA
Java
Regular expressions
\d:这个关键字匹配 任意的一位数字,只是一位哦\D:这个关键字匹配 任意非数字的字符。汉字、换行、制表符、下划线、空格都算哦先来看看测试的脚手架代码: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\\d!'; List
执行下看看结果。trueOK要是两位数字呢?
更改下代码Code:List
来看看\D,这个除数字,其它的任意字符都可以,汉字、空格、\b、\t、\r、\f、\n、下划线什么的都ok了改下代码Code:String regexStr = 'Hello\\D!';List
执行下看看结果Output:true好强大啊。除不能匹配数字,什么都样的字符都可以啊
细心的同学是不是已经发现\d和\D加组合起来, 是不是可以匹配任意组合了是的就是这样的更改下代码Code:String regexStr = 'Hello[\\D\\d]!';List
细心的tx已经发现,更改的一的代码中使用英文中括号。英文中括号也是正则表达式的保留字符,就是圈定一个范围,这个范围内的字符之间是或的关系“[\\D\\d]”,这个中括号中圈定了两类字符 \D和\d,只要是任意一类就可以,在此处表示任意字条因此,更改后的代码,执行后的返回值应该为true,表示全部匹配执行下看看结果Output:true与预期一致OK