19 java程序员面试宝典视频课程之正则表达式

一、正则表达式是用来做什么的?
答:
正则表达式是用来处理字符串的,可以用一些特定字符来描述字符串里字符出现的规则,从而匹配,提取或者替换符合某一个规则的字符串

二、说出\d,\w,\s,.,[1234],[^a-f],{},?,+,*,\b 规则的含义?
答:
\d :数字:[0-9];
\w:单词字符:[a-zA-Z_0-9];
\s:空白字符:[ \t\n\x0B\f\r];空格、水平制表符、换行、垂直制表符、换页、回车等。
. :任何字符
[1234]:字符串长度为 1,值为 1、2、3、4 中的一个数字;
[^a-f] :字符串长度为 1,值为除了 a-f 的其它字符
{}:匹配长度,如 \s{3} 表示匹配三个空白字符;
?:它前面相邻的字符重复 0 或 1 次;
+:它前面相邻的字符重复 1 到多次;
*:它前面相邻的字符重复 0 到多次;
\b:单词边界。匹配的是一个位置而不是字符,这个位置的一侧是构成单词的字符,另一侧是非单词字符、字符串的开始或结束位置。

三、\D,\d 分别表示什么意思?
答:
\d:数字[0-9];
\D:非数字[^0-9];

四、【编程题】完成手机号码的表达式?
答:

public static void main(String[] args) {
        Pattern compile = Pattern.compile("0?(13|14|15|18|17)[0-9]{9}");
        Matcher matcher = compile.matcher("18763324814");
         if(matcher.matches()){
            System.out.println("当前手机号正确");
         }

五、group(),group(1),group(2)的区别。
答:
group(int index)的参数和所匹配正则表达式的分组有关。Index 就是正则表达式中组的编号(第几组)
1、group()和 group(0)都是指的整个串
2、group(1)指的是第一组的内容
3、group(2)指的第二组的内容。

public static void main(String[] args) {
        String str = "Hello,World";
        Pattern pattern = Pattern.compile("(or)(ld)");
        Matcher matcher = pattern.matcher(str);
        while(matcher.find()){
        System.out.println("所有"+matcher.group(0));
        System.out.println("得到第一组"+matcher.group(1));
        System.out.println("得到第二组"+matcher.group(2));
    }}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值