正则表达式30分钟入门系列之4

2025-05-24 13:49:19

1、\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<String> input = Arrays.asList("Hello1!", "Hello0!"); System.out.println(isMatch(input, regexStr)); } private static boolean isMatch(List<String> inputs, String regexStr) { 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; }}

正则表达式30分钟入门系列之4

2、执行下看看结果。trueOK要是两位数字呢?

正则表达式30分钟入门系列之4

3、更改下代码觊皱筠桡Code:List<String> input = Arrays.asList("Hello1!", "Hello2!", "Hello23!");。。。System.out.println(String.format("%s is not match %s!", regexStr, input));执行下看看结果。Output:Hello\d! is not match Hello23!!false与预期一致OK

正则表达式30分钟入门系列之4

4、来看看\D,这个除数字,其它的任意字符都可以,汉字、空格、\b、\t、\r、\f、\n、下划线什么的都ok了改下代码Cod髫潋啜缅e:String regexStr = "Hello\\D!";List<String> input = Arrays.asList("Hello汉!", "Hello !", "Hello !", "Hello\b!", "Hello\t!", "Hello\"!" , "Hello\r!", "Hello\f!", "Hello\n!", "Hello_!", "Hello-!");

正则表达式30分钟入门系列之4

5、执行下看看结果Output:true好强大啊。除不能匹配数字,什么都样的字符都可以啊

正则表达式30分钟入门系列之4

6、细心的同学是不是已经发现\d和\D加组合起来, 是不是可以匹配任意组合了是的就是这样的更改下代码Code:String regexStr = "Hello[\\D\\d]!";List<String> input = Arrays.asList("Hello7!", "Hello汉!", "Hello !", "Hello !",

正则表达式30分钟入门系列之4

7、细心的tx已经发现,更改的一的代码中使用英文中括号。英文中括号也是正则表达式的保留字符,就是圈定一个范围,这个范围内的字符之间是或的关系“[\\D\\d]”,这个中括号中圈定了两类字符 \D和\d,只要是任意一类就可以,在此处表示任意字条因此,更改后的代码,执行后的返回值应该为true,表示全部匹配执行下看看结果Output:true与预期一致OK

正则表达式30分钟入门系列之4
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢