黑马程序员-day13-正则表达式
来源:互联网 发布:画像素软件 编辑:程序博客网 时间:2024/06/05 17:17
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
也就是说,正则表达式的反斜杠,都是成对出现的。字符x字符 x\\反斜线字符字符类[abc]a、b 或 c(简单类)[^abc]任何字符,除了 a、b 或 c(否定)[a-zA-Z]a 到 z 或 A 到 Z,两头的字母包括在内(范围)[a-d[m-p]]a 到 d 或 m 到 p:[a-dm-p](并集)[a-z&&[def]]d、e 或 f(交集)[a-z&&[^bc]]a 到 z,除了 b 和 c:[ad-z](减去)[a-z&&[^m-p]]a 到 z,而非 m 到 p:[a-lq-z](减去)预定义字符类.任何字符(与行结束符可能匹配也可能不匹配)\d数字:[0-9]\D非数字: [^0-9]\s空白字符:[ \t\n\x0B\f\r]\S非空白字符:[^\s]\w单词字符:[a-zA-Z_0-9]\W非单词字符:[^\w]边界匹配器^行的开头$行的结尾\b单词边界\B非单词边界\A输入的开头\G上一个匹配的结尾\Z输入的结尾,仅用于最后的结束符(如果有的话)\z输入的结尾Greedy数量词,X表示对应字符X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好 n 次X{n,}X,至少 n 次X{n,m}X,至少 n 次,但是不超过 m 次Logical运算符XYX 后跟 YX|YX 或 Y(X)X,作为捕获组,如表达式((A)(B(C))) 包含四个组
1 ((A)(B(C)))
2 \A
3 (B(C))
4 (C)
技巧:从左至右数左括号,第几个左括号就是第几组Back引用\n任何匹配的 nth 捕获组,表示捕获第n个组,如(.)表示任意字符,(.)+表示任意字符出现了多次,如"adsune"任意一个字符串均满足要求。但是如果是(.)\\1+,表示的是第一个字符是任意字符,但是从第二个字符起,必须匹配之前捕获到的第一个字符,也就是说,这个正则表达的意思是连续出现相同字符;而当第一个连续相同的匹配完,(.)就表示下一个字符了,那么\\1+也就是表示相应字符连续出现了方法(String类方法)判断boolean matches(String regex)
判断该字符串是否匹配该正则表达式切割1、String[] split(regex)
根据给定的正则表达式对字符串进行拆分
2、String[] split(regex,int limit)
limit>0,至多切割limit-1次
limit=0,切完,丢弃末尾空字符串
limit<0,切完,不丢弃末尾空字符串替换1、String replaceAll(regex,str)
使用str来替换掉所有符合regex的内容
2、String replaceFirst(regex,str)
使用str来替换掉第一次符合regex的子字符串
注意:str可以对regex内容中的捕获组所获取到的内容进行引用,使用符号:$n,其中n表示第几个捕获组,如:
String replaceAll("(.)\\1+","$1")即将字符串中连续出现的相同字符替换为对应的单个字符Pattern类含义将正则表达式进行编制,并封装为模式;
此类构造函数不对外提供,使用compile方法来获取对象;
此类线程安全;创建模式1、static Pattern compile(regex)
此方法返回按照指定正则表达式编制的模式(即本类对象)获取regex2、String pattern() 会返回此模式对应的regex,但注意反斜杠会改变切割3、String[] split(String str)
按照此模式对str进行切割创建匹配器4、Matcher matcher(String str)
此方法会返回一个此模式与给定字符串关联的匹配器,以便使用该匹配器来控制、操作该匹配过程Matcher类含义通过模式对字符串进行匹配操作的匹配器,能够通过匹配器对匹配过程进行操作和控制;
此类同样没有构造函数;创建与指定字符串相匹配的匹配器通过Pattern类的matcher方法来获取与str相匹配的匹配器
Matcher m=Pattern.compile(regex).matcher(str);匹配boolean matches()
尝试对匹配区域进行匹配,完全匹配返回true,一旦出现不匹配就返回false寻找boolean find()
尝试进行寻找匹配的内容,一旦找到返回ture,否则false获取匹配的内容String group()
返回由以前匹配动作所匹配的子序列获取匹配内容位置int start()
返回相匹配子序列的初始索引
int end()
返回子序列最后相匹配位置的偏移量重置匹配器Matcher reset()
将匹配器进行重置,清空索引位置
Matcher reset(String str)
重置匹配器的索引和关联字符串设置匹配器的匹配区域Matcher region(begin,end)
设置之后,匹配器不会再对超出区域部分匹配(含头不含尾)替换String replaceAll(str)
使用匹配器将区域内相匹配的所有内容替换为str
0 0
- 黑马程序员-day13-正则表达式
- 黑马程序员-正则表达式
- 黑马程序员 正则表达式
- 黑马程序员:正则表达式
- 黑马程序员---正则表达式
- 黑马程序员:正则表达式
- 黑马程序员--正则表达式
- 黑马程序员--正则表达式
- 黑马程序员--正则表达式
- 黑马程序员--正则表达式
- 黑马程序员 正则表达式
- 黑马程序员-正则表达式
- 黑马程序员:正则表达式
- 黑马程序员-正则表达式
- 黑马程序员 正则表达式
- 黑马程序员---正则表达式
- 黑马程序员---正则表达式
- 黑马程序员-正则表达式
- hadoop 单机模式
- 指令译码与控制解读
- Android进程和线程
- Linux之DNS服务配置
- ASP.NET中怎样实现图片验证码功能,并且点击图片会刷新
- 黑马程序员-day13-正则表达式
- 我们的故事还未开始,就已经结束了……
- 黑马程序员-day14-集合框架
- 失恋第一天
- 【数据结构与算法】哈夫曼数与哈夫曼编码
- java.lang.IllegalStateException: No output folder
- Linux之DHCPD服务配置
- 设计模式之依赖倒转原则
- 6410如何实现7寸屏和TV-OUT同时显示不同的图像