java培训第二十五天总结正则表达式

java培训第二十五天总结正则表达式,第1张

java培训第二十五天总结正则表达式 1.正则表达式 1.1 概述

正则表达式定义了字符串的模式.

正则表达式可以用来搜索/编辑或者处理文本问题,还可以做数据提取 *** 作

不仅限于某一种语言,但是在每种语言中有细微的差别

java中1.4退出java.util.regex包下

在java中 使用转义符吧有意义字符转换为无意义字符

但是在正则表达式中,也是转义符,所以如果我们在java中写正则表达式转义符的话,要写两个\

1.2 语法

常用语法:

 

 

 

 

1.3(),[],{}  1.小括号():

匹配小括号内的字符串,可以是一个,也可以是多个,常跟"|"(或)符号搭配使用,是多选结构的

示例1:String name="way2014"; regex:(way|zgw) result:结果是可以匹配出way的,因为是多选结构,小括号是匹配字符串的

示例2:String text="123456789"; regex:(0-9) result:结果是什么都匹配不到的,它只匹配字符串"0-9"而不是匹配数组,[0-9]这个字符组才是匹配0-9的数字

2.中括号[]:

匹配字符组内的字符,比如常用的[0-9a-zA-Z.*?!]等,在[]内的字符都是字符,不是元字符,比如"0-9"/"a-z"这中间的"-"就是连接符号,表示范围的元字符,如果写成[-!?*(]这样的话,就是普通字符

示例1:String text="1234567890"; regex:[0-9] result:结果是可以匹配出字符串text内的任意数字了,像上边的[或符合"|"在字符组内就是一个普通字符]

示例2:String text="a|e|s|v"; regex:[a|e|s] result:结果就是匹配字符a/e/s三个字符,这个很(a|e|s)有区别的,区别就是(a|e|s)匹配的是a/e/s三个字符的随意一个,三个红的任意一个,这里|是元字符

3.大括号{}:

匹配次数,匹配在它之前表达式匹配出来的元素出现的次数,{n}出现n次/{n,}匹配最少出现n次/{n,m}匹配最少出现n次,最大出现m次

1.4练习

1.匹配整数和小数 

d 数字

. 任意字符

/ 转义

+ 1次或多次

? 0次或1次

() 把.和d+看做整体

d+(.d+)?

2.电话

d{11}

^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])d{8}$

3.匹配正整数

[1-9][0-9]*

4.非负整数

\d+

5.整数

(-?[1-9]\d*)|0

6.java中的正则表达式

在java中 正则表达式封装为三个相关的类

PatternSyntaxException:异常类

pattern:正则表达式对象,能做一些简单 *** 作

Matcher:支持强大的正则表达式

6.1Pattern 6.1.1概述

用于创建一个正则表达式,也可以说创建爱你一个匹配模式,它的构造方法是私有的,不可以直接创建

只能通过Pattern.complie(String regex)创建一个正则表达式

只能做一些简单的匹配 *** 作

6.1.2 使用

pattern:很多时候我们直接使用String中的三个方法即可

验证:效验 *** 作,boolean matches(String regex)

拆分:String[] split(String regex)

替换:String replaceAll(String regex,String replace)

6.2 Matcher 6.2.1概述

构造方法也是私有的,不能随意创建爱你,只能通过pattern.matcher(CherSeqence input)方法得到该类的实例 Matcher m=p.matcher("aaaaaaab");

支持便捷强大的正则匹配 *** 作,包括分组/多次匹配支持 

6.2.2 三大方法

Matcher.matches():队整个字符串进行匹配,只有整个字符串都匹配了才返回true

Matcher.lookingAt():队前面的字符串进行匹配,只有匹配到的字符串在最前面才返回true

Matcher.find():对字符串进行匹配,匹配到的字符串可以再任意位置

6.2.3 字符串匹配模式

6.2.4数据提取  6.2.5 叠词去重

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4998570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存