经常使用的正则表达式以及用法

这篇具有很好参考价值的文章主要介绍了经常使用的正则表达式以及用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

正则表达式

正则表达式是一种用来匹配字符串的工具,它可以用特定的语法来描述文本中的一些模式,以达到快速检索、替换和处理文本的目的。
它的用处也是很多,比如文本编辑器、搜索引擎、数据库、邮件过滤、语言解析器、爬虫器等等。
工作中,我经常用正则表达式来提取、校验数据,下面总结了一些日常经常用到的方法。

校验字符串

判断一个字符是否为数字。

public static boolean checkStr(String str){
        String p1="([0-9])";
        Pattern pr = Pattern.compile(p1);
        Matcher mr = pr.matcher(str);
        return mr.matches();
    }

判断一个字符串是否全为数字。

public static boolean checkNum(String str) {
        String[] list = str.split("");
        String pattern = "([0-9])";
        boolean flag =true ;
        Pattern pr;
        Matcher mr;
        for (String s : list) {
            pr = Pattern.compile(pattern);
            mr = pr.matcher(s);
            if (!mr.matches()) {
                flag = false;
                break;
            }
        }

        return  flag;
    }

判断一个字符是否为字母。

public static boolean checkStr2(String str){
        String p1="([A-Za-z])";
        Pattern pr = Pattern.compile(p1);
        Matcher mr = pr.matcher(str);
        return mr.matches();
    }

判断一个字符串是否全为字母。

public static boolean checkEng(String str) {
        String[] list = str.split("");
        String pattern= "([A-Za-z])";
        boolean flag = true;
        Pattern pr;
        Matcher mr;
        for (String s : list) {
            pr = Pattern.compile(pattern);
            mr = pr.matcher(s);
            if (!mr.matches()) {
                flag = false;
                break;
            }
        }
        return flag ;
    }

判断一个字符是否为中文。

 public static boolean checkChinese(String str){
        String pattern = "[\\u4e00-\\u9fa5]";
        Pattern r = Pattern.compile(pattern);
        Matcher m = r.matcher(str);
        return m.matches();
    }

判断一个字符串是否全为中文。

public static boolean checkEng(String str) {
        String[] list = str.split("");
        String pattern= "[\\u4e00-\\u9fa5]";
        boolean flag = true;
        Pattern pr;
        Matcher mr;
        for (String s : list) {
            pr = Pattern.compile(pattern);
            mr = pr.matcher(s);
            if (!mr.matches()) {
                flag = false;
                break;
            }
        }
        return flag ;
    }

数据提取

取手机号码。

public String phone(String str){
    String pattern = "(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\\d{8}";
    Pattern r = Pattern.compile(pattern);
    Matcher m = r.matcher(str);
    String result ="";
    if (m.find()) {
        result = m.group();
    }
    return result;
}

这个方法可以直接复用,要用来提取其他信息,只需修改pattern 即可!
提身份证号:

\d{17}[\d|x|X]|\d{15}

提取22位数字字母组合

([A-Za-z0-9]{22})+

18位数字字母组合

([A-Za-z0-9]{18})+

以上两个数字字母组合的,提取出来有可能是纯数字、纯字母或者数字字母组合,如果单纯只要数字字母组合的话,可以用上面的字符校验一下结果。(如果有其他方法,评论区告知一下,共同学习!)

14位纯数字

([0-9]{14})+

11或者13位数字字母组合

([A-Za-z0-9]{11,13})

数据替换

在一个字符串中,我们要替换多个关键词,可以用下面这种写法:

 String regex = "不是|没有|非|否|无|不会|不要|不可";//否定词
 input=input.replaceAll(regex,"-");

替换各种特殊的符号

txt=txt.replaceAll("[\\pP\\p{Punct}]",",").replaceAll(" ","").replaceAll("\r\n",",");

这篇文章会不断更新,活到老学到老,总会学到很多更加方便的方法替换的。文章来源地址https://www.toymoban.com/news/detail-495003.html

到了这里,关于经常使用的正则表达式以及用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 正则表达式的一些高级用法

    不允许出现某个单词,使用?! (?!Pattern)..matches 表示.matches之前的不能是Pattern 非贪婪匹配,在匹配项后加? matches((.*?)) 这里在.*后加问号,表示尽可能少的匹配。 w表示字母、数字和下划线 防范redos攻击,可使用Cyber-Redos-Terminator检查开发使用的正则表达式。java代码里排查可能

    2024年02月21日
    浏览(37)
  • SQL中常见正则表达式用法

    在 SQL 中,正则表达式是一种强大的工具,用于匹配相应的字符串模式。SQL 支持的正则表达式语法因数据库而异,下面是一些常用的正则表达式元字符: . :匹配任何单个字符 * :匹配任意数量的前一个字符 + :匹配一个或多个前一个字符 ? :匹配零个或一个前一个字符 ^ :

    2024年02月15日
    浏览(63)
  • Python:正则表达式之re.group()用法

    Python正则表达式之re.group()用法学习笔记 正则表达式是在处理字符串时非常有用的工具,而re.group()是在匹配到的文本中提取特定分组内容的方法之一。 在正则表达式中,通过圆括号可以创建一个或多个分组。re.group()用于获取匹配到的文本中的指定分组内容。 输出结果: grou

    2024年01月17日
    浏览(44)
  • 详解Python正则表达式中group与groups的用法

    在Python中,正则表达式的group和groups方法是非常有用的函数,用于处理匹配结果的分组信息。 group方法是re.MatchObject类中的一个函数,用于返回匹配对象的整个匹配结果或特定的分组匹配结果。而groups方法同样是re.MatchObject类中的函数,它返回的是所有分组匹配结果组成的元组

    2024年02月13日
    浏览(36)
  • Python正则表达式中group与groups的用法详解

    本文主要介绍了Python正则表达式中group与groups的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 目录 在Python中,正则表达式的group和groups方法是非常有用的函数,用于处理匹配结果

    2024年02月01日
    浏览(49)
  • Java-初识正则表达式 以及 练习

    目录 什么是正则表达式? 1. 正则表达式---字符类(一个大括号匹配一个字符): 2. 正则表达式---预字符类(也是匹配一个字符): 正则表达式---数量词 (可以匹配多个字符): 正则表达式的练习 1: 习题一: 习题二: 习题三: 正则表达式的练习 2: 习题一: 习题二:

    2024年01月19日
    浏览(45)
  • 正则表达式-分组括号以及捕获分组

    在java正则表达式中,( )是分组的意思,每组都有一个组号 只看左括号,不看右括号,按照左括号的顺序,从左往右,依次为第一组,第二组,第三组等等,如图: 根据左括号分成了三组 捕获分组,非捕获分组 可以获取某一组中的内容反复使用 规则: 正则表达式内部使

    2024年01月22日
    浏览(99)
  • 正则表达式以及 pattern 的撰写方式

    在Python中,可以使用re模块来进行正则表达式的撰写和匹配。下面是一个基本的正则表达式撰写方法示例: 定义正则表达式模式: 其中,r表示原始字符串,可以避免转义字符的问题。

    2024年02月08日
    浏览(57)
  • 正则表达式、grep过滤工具、sed基本用法、sed基本操作指令、sed应用案例

    1.1 问题 本案例要求熟悉正则表达式的编写,完成以下任务: 利用grep或egrep工具练习正则表达式的基本用法 1.2 方案 表-1 基本正则列表 表-2 扩展正则列表 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:正则表达式匹配练习 1)基本正则表达式 测试 ^ $ [] [^] 测试 .

    2024年01月24日
    浏览(83)
  • 正则表达式使用汇总

    正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。在表单验证、Url映射等处都会经常用到。 平时可以使用正则表达式的在线测试工具练习和测试:正则表达式在线工具 我们在写用户注册表单时,只允许用户名包含字符、数字、下

    2024年02月15日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包