正则表达式与模式匹配.docx_第1页
正则表达式与模式匹配.docx_第2页
正则表达式与模式匹配.docx_第3页
正则表达式与模式匹配.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正则表达式与模式匹配概念: 1, 模式匹配:就是检索与指定模式匹配的字符串。 Java 提供了专门进行模式匹配的类,在 java.util.regex 。 1) 建立模式对象: 使用 Pattern 类创建一个对象,称为模式对象。它调用类方法 概念:1,模式匹配:就是检索与指定模式匹配的字符串。Java提供了专门进行模式匹配的类,在java.util.regex。1)建立模式对象:使用Pattern类创建一个对象,称为模式对象。它调用类方法compile(String pattern)完成这一任务,参数pattern是一个正则表达式,称为模式对象使用的模式。若pattern指定的正则表达式有错,compile方法将抛出异常,PatternSyntaxException。Pattern类可以调用类方法compile(String regex,int flag)返回一个pattern对象,2)建立匹配对象模式对象调用方法matcher(CharSequence input);返回一个Matcher对象m,称为匹配对象,参数input可以是任何实现了CharSequence接口的类创建的对象。String和StringBuffer类都使用了CharSequence接口。Matcher 对象可以使用3个方法寻找参数Input指定的字符序列中是否有与模式pattern匹配的子序列。a)public boolean find();寻找input中第一个与模式pattern匹配的子序列,若find()返回true,m调用start()和end()可以得到该匹配模式子序列在input中的开始位置和结束位置。b)public boolean matches();判断input是否完全与pattern匹配c)public Boolean lookingAt();判断从input开始位置是否有与pattern匹配的子序列。若返回True, m调用start()和end()可以得到lookingAt()方法找到的匹配模式子序列在input中的开始位置和结束位置。d)public Boolean find(int start);e)public string replaceAll(String replacement);f)public String replaceFirst(String replacement);import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestPattern public static void main(String args) Pattern p ;Matcher m ;String s1 = 0A1A2A3A4A5A6A7A8A9;p = Ppile(dAd);m = p.matcher(s1);System.out.println(matches1:+m.matches();while (m.find() String str = m.group();System.out.println(从+m.start()+到+m.end()+匹配模式子序列:);System.out.println(str);String temp = m.replaceAll(*);System.out.println(temp);System.out.println(s1);m = p.matcher(9A0A0A3);if (m.matches() String str = m.group();System.out.println(str);System.out.println(matches:+m.matches();System.out.println(find:+m.find();else System.out.println(不完全匹配!);if (m.lookingAt() String str = m.group();System.out.println(str);元字符模式:在正则表达式中可以使用一对方括号扩起来的若干个字符,代表方括号中的任何一个字符。例如pattern=” 123abc”,那么“1acb”、“2abc”、“3abc”都是与pattern 匹配的字符序列。abc 代表abc中任何一个。abc 代表处理abc以外的任何字符。a-d 代表a到d 的任何一个。中括号里可以嵌套中括号,可以进行并,交,差运算。a-dm-p代表a到d,或者M-p中任何字符(并)。a-z&def代表d,e,f中任何一个(交)。a-f&bc代表a,d,e,f(差)。元字符正则表达式中的写法意义.“.”代表任何一个字符d“d”0-9任何一个数字D“D”任何一个非数字字符s“s”空格类字符:tn x0B ,f,rS“S”非空格类字符w“w”可用以标识符的字符(不含$)W“W”不能用于标识符的字符import java.util.regex.Matcher;import java.util.regex.Pattern;public class YuanZiFuPattern public static void main(String args) Pattern p;Matcher m;String s1 = 23&12$A69Q90W;p = Ppile(2468013579w);m = p.matcher(s1);while (m.find() String str = m.group();System.out.println(1:从+m.start()+到+m.end()+匹配模式子序列);System.out.println(str);String s2 = as27Aiu86Adfs;p = Ppile(1-9&46A234);m = p.matcher(s2);while (m.find() String str = m.group();System.out.println(2:从+m.start()+到+m.end()+匹配模式子序列);System.out.println(str);模式的逻辑或模式可以使用位运算符“|”进行逻辑或运算,得到一个新模式。import java.util.regex.Matcher;import java.util.regex.Pattern;public class MoShiHuo public static void main(String args) Pattern p;Matcher m;String s1 = loveyouhatemelove123jkjhate999love888;p = Ppile(lovew3|hatew2);m = p.matcher(s1);while (m.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论