正则表达式
发布时间:2020-12-13 19:50:31 所属栏目:百科 来源:网络整理
导读:正则表达式主要用于对字符串的处理, 主要 用于字符串的匹配,分割,替换 规则:(我自己总结的) 1:按照括号 ()表示分组,( . )1 意思 是第二个字符与第一个字符一致 [ ] 表示可选, [134] 意思 1 ,3 ,4中任意一个 [a-z] 意思是a,b....z中的任意一个
正则表达式主要用于对字符串的处理,主要用于字符串的匹配,分割,替换 规则:(我自己总结的) 1:按照括号 ()表示分组,(.)1意思是第二个字符与第一个字符一致 [ ] 表示可选,[134]意思1,3,4中任意一个 [a-z]意思是a,b....z中的任意一个 { }表示边界 {4}上下边界都是4,必须四个字符,{4,}至少4个,{4,6} 4到6个,与前边的组合使用比如: [0-9]{4,8} 表示4到8个数 2:按照+ * ?
预定义字符类
以下代码是对正则表达式的运用
import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { /* * 1 * 字符匹配 */ System.out.println(testMatches("12345323","1d{4,14}")); System.out.println(testMatches("22345323","[125]d{4,14}")); /* * 2 * 字符截取 */ String str = "c:javatest"; String[] strs = testSprite(str,"\");//借钱去,是转义字符,要转义一个,需要,两个\ for (String newstr : strs) { System.out.println(newstr); } str = "c.java.test"; strs = testSprite(str,".");//。截取。 .代表所有字符 for (String newstr : strs) { System.out.println(newstr); } str = "c java test 22";//空格截取,可能多个空格,所以" +" strs = testSprite(str," +"); for (String newstr : strs) { System.out.println(newstr); } str = "dwadadw222a2xxaddawddwadq3aseaa";//叠词截取()分组,1表示第一组,需要转义,所以1,(.)的意思是第二个字符跟第一个字符一致 strs = testSprite(str,"(.)1+"); for (String newstr : strs) { System.out.println(newstr); } /* * 3 * 字符替换 */ str="I a2m haa23pp55y"; System.out.println(testreplaceAll(str,"d","")); str="A beeeautttiful ggirll that I wwant ttoo bee myy ggiiirl frrieeend may coome too minee unniverssity"; System.out.println(testreplaceAll(str,"(.)1+","$1")); /* * 获取能匹配的字符 */ List<String> list=testFind("After two days,ACM compition will be go","b[a-zA-z]{3}b");//必须是三个字符,前后两边是单词字符 Iterator it=list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } //Matcher是真正的强大 public static LinkedList<String> testFind(String str,String regex) { LinkedList<String> list=new LinkedList<String>(); //获取Pattern Pattern p= Pattern.compile(regex); //获取Matcher Matcher m=p.matcher(str); while(m.find()) { list.add(m.group()); } return list; } public static boolean testMatches(String str,String regex) { return str.matches(regex); } public static String[] testSprite(String str,String regex) { return str.split(regex); } public static String testreplaceAll(String str,String regex,String replacement) { return str.replaceAll(regex,replacement); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- CMake为Xcode目标与正常目标
- c# – 为什么我不能在Razor WebGrid中的委托中使
- Swift ImagePickerController didFinishPickingM
- 通过oracle wallet配置listener tcps加密
- 领域驱动设计 – “丰富的领域模式”是否违反单一
- 调度多个相互依赖的SQL Server代理作业的做法是什
- objective-c – Swift中的块显示错误“调用中缺少
- React-Native Issue: PCH was compiled with mod
- nutch-default.xml配置参数解释(部分)
- 【TDD】实现简单的四则运算V2.0
热点阅读