栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java之初识正则表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java之初识正则表达式

正则表达式是符合一定规则的表达式,专门用来操作字符串

比如:

String qq="123456";
String regex="[1-9],[0-9]{4-14}";
boolean b=qq.matches(regex);

表示:字符串的长度只能为5-15,字符串第一个字符只能是1-9,其他字符范围是0-9

如果被测字符串满足要求,则b=true,否则b=false

使用传统的代码来判断字符串需要将字符一个一个提取出来比较,速度慢且代码量大,正则表达式技术可以帮助我们快速地判断和操作字符串,提升我们的代码效率。

步骤:

假设我们要提取出一个字符串content内所有的英文单词

1、先创建一个pattern对象:

Pattern pattern = Pattern.compile("[a-zA-Z]+");

2、创建一个匹配器对象matcher:

Matcher matcher = pattern.matcher(content);

3、利用匹配器开始循环匹配

while (matcher.find()){
            System.out.println("找到:"+matcher.group(0));
        }

(注:匹配器会将找到的英语单词放入group(0)中)

若需要提取出文章内的英文单词和数字,只需把创建pattern对象的代码改为;

Pattern pattern = Pattern.compile("([a-zA-Z]+)|([0-9]+)");

假设我们需要提取的内容有不确定的地方,比如要从百度网页源码中提取出百度热搜的标题,可以这样做:

Pattern pattern = Pattern.compile("

根据需要提取标题的规律,找到其中一个标题的代码并复制下来,并将标题内容部分修改为“ \S* ”

并在循环匹配时,将group(0)改为group(1),就可以成功实现功能,

while (matcher.find()){
            System.out.println("找到:"+matcher.group(1));
        }

效果图如下:

 由上可见,正则表达式在程序员处理文本时骑着巨大作用,能节约很多时间

我平时在处理字符串时就经常会遇到一些问题,偶然学习到了正则表达式,帮到了我很多。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号