正则表达式,split

package com.company.project.builder;

import java.util.Arrays;
//  \d  数字字符, \w单词字符  \s 空白字符  \D  非数字 \W 非单词字符
//java里多加一个\以转义\  ,例如\\d 代表数字字符
public class StringDemo {

    public static void main(String[] args) {
        //匹配邮箱
        String str = "[a-zA-Z\\d_]+@[a-zA-Z\\d_]+(\\.[a-zA-Z\\d_]+)+";
        String mail = "43dfddf@163e.com2.cn3";
        System.out.println(mail.matches(str));

        //身份证号
        String str1 = "\\d{15}(\\d{2}[\\dxX])?";
        String id  = "340622222233330";
        System.out.println(id.matches(str1));
        //split方法,前面的逗号保留空元素,后面的不保留
        //执行结果:[, , zhangsan, lisi, , , wangwu, zhaoliu]
        String str2 = ",,zhangsan,lisi,,,wangwu,zhaoliu,,,";
        System.out.println(Arrays.toString(str2.split(",")));

        //数字替换为#num#
        String str3 = "dsfh23oisa333hfoid45656saghoifdah324giodsagfsd5paohf";
        System.out.println(str3.replaceAll("\\d+", "#num#"));

        //把“帐号|密码|身份证号”替换为***
        String str4 = "你好,银行帐号,密码,身份证号分别是多少?";
        String str5 = "帐号|密码|身份证号";
        System.out.println(str4.replaceAll(str5, "***"));
    }

}
正则表达式split方法可以根据指定的模式将字符串分割成多个部分,并返回一个列表。如果在正则表达式中加入了括号,那么不满足条件的部分也会作为列表的一个元素。例如,使用re.split(r'\W+', 'Words, words, words.')会将字符串按照非单词字符进行分割,返回\['Words', 'words', 'words', ''\]。而使用re.split(r'(\W+)', 'Words, words, words.')会将字符串按照非单词字符进行分割,并保留分割符,返回\['Words', ', ', 'words', ', ', 'words', '.', ''\]。还可以通过设置maxsplit参数来控制最大的拆分次数,默认为0表示全部分割。此外,还可以通过设置flags参数来控制正则表达式的匹配方式,如是否区分大小写等。需要注意的是,split方法并不是完全匹配,它仅仅决定在字符串开始的位置是否匹配,所以当pattern结束时若还有剩余字符,仍然视为成功。如果想要完全匹配,可以在表达式末尾加上边界匹配符'$'。 #### 引用[.reference_title] - *1* [正则表达式split()方法](https://blog.csdn.net/qq_36521174/article/details/117967699)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python 正则表达式split](https://blog.csdn.net/weixin_34351321/article/details/93021362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值