java正则表达式匹配正整数,java中的正则匹配
爪哇正则表达式是通过java.util.regex包下的模式和制榫机类实现的
模式类用于创建正则表达式。这意味着它用于创建匹配模式。可以使用两种静态方法创建:编译(stringregex)和编译(string egex,int标志).其中正则表达式是正则表达式,标志是可选模式)等等
实例:
模式模式=模式。com桩(Java);系统。出去。println(模式。格局));爪哇模式类是返回此模式的正则表达式,有两种基于匹配模式划分输入序列的方法。拆分(charsequenceinput)和拆分(charsequenceinput,int limit)。其中限制是要返回的元素数。
实例:
模式模式=模式。com桩(Java);string test= 123 Java 456 Java 789 Java ;string [ ]结果=pattern.split(测试;for(字符串:结果)系统。出去。println(s);结果:
如果split(charsequenceinput,int limit)的值大于返回的最大字符串数或为负数,则返回的字符串数没有限制,但末尾可能包含空字符串如果极限=0,则为split ) charsequenceinput)和
模式模式=模式。com桩(Java);string test= 123 Java 456 Java 789 Java ;string[]结果=模式。分裂(测试,2);for(字符串:结果)系统。出去。println(s);结果=Pattern.split(test,10);系统。出去。println(结果。长度;result=Pattern.split(test,-2);系统。出去。println(结果。长度;result=Pattern.split(test,0);系统。出去。println(结果。长度;执行结果:
模式类也附带静态匹配方法匹配(stringregex,CharSequence输入),但只能进行完整的字符串匹配,并且只能返回是否匹配的布尔值
实例:
string test1= JavaString test2= Java 123456 system。出去。println(模式。matches( Java ,test1);返回//真系统。出去。println(模式。matches( Java ,test 2));如果返回假的,则最后转移到制榫机类100 .模式类的匹配器(charsequenceinput)返回制榫机对象。
制榫机类提供正则表达式分组支持和正则表达式多次匹配支持。要获得更丰富的正则匹配操作,必须同时使用模式和火柴人。
实例:
模式模式=模式。com桩(Java);string test= 123 Java 456 Java 789 Java ;匹配器matcher=模式。matcher(;制榫机类有三种返回布尔的匹配方法matches()、lookingAt、find)、find ) intstart).火柴) )用于匹配整个字符串,看着是从字符串开头开始的匹配子字符串
实例
模式模式=模式。com桩(Java);string test1= JavaString test2= Java 1234 string test3= 1234 Java matcher matcher=pattern。匹配器(test1);系统。出去。println(匹配器。matches());返回//真匹配器=模式。匹配器(测试2)返回系统。出去。println(匹配器。matches());返回//false matcher=模式。匹配器(测试2)返回系统。出去。println(匹配器。looking())://true matcher
=模式。匹配器(测试3);系统。出去。println(匹配器。望());//返回假匹配器=模式。匹配器(test1);系统。出去。println(匹配器。find());//返回真实匹配器=模式。匹配器(测试2);系统。出去。println(匹配器。find());//返回真实匹配器=模式。匹配器(测试3);系统。出去。println(匹配器。find(2));//返回真实匹配器=模式。匹配器(测试3);系统。出去。println(匹配器。find(5));//返回错误的这里介绍下组的概念:组是用括号划分的正则表达式,可以根据组的编号来引用这个组。组号为0表示整个表达式,组号为一表示被第一对括号括起的组,依次类推,例如A(B(C))D,组0是ABCD,组一是公元前,组2是丙。
制榫机类提供了开始(),结束(),组()分别用于返回字符串的起始索引,结束索引,以及匹配到到的字符串。
实例:
模式模式=模式。编译( Java );字符串test= 123 Java 456 matcher matcher=pattern。匹配器(测试);火柴人。find();系统。出去。println(匹配器。start());//返回3系统。出去。println(匹配器。end());//返回7系统。出去。println(匹配器。group());//返回爪哇匹配器类提供了start(int gropu),end(int group),group(int i),groupCount()用于分组操作
实例:
模式模式=模式。编译((Java)(Python));string test= 123 Java python 456 matcher matcher=pattern。匹配器(测试);火柴人。find();系统。出去。println(匹配器。group count());//返回2系统。出去。println(匹配器。组(1));//返回第一组匹配到的字符串Java ,注意起始索引是1系统。出去。println(匹配器。start(1));//返回3,第一组起始索引系统。出去。println(匹配器。end(1));//返回七第一组结束索引系统。出去。println(匹配器。组(2));//返回第二组匹配到的字符串python的系统。出去。println(匹配器。start(2));//返回7,第二组起始索引系统。出去。println(匹配器。end(2));//返回13 第二组结束索引制榫机类还提供区域(整数开始,整数结束)(不包括结束)方法用于设定查找范围,并提供regionStrat()和regionEnd()用于返回起始和结束查找的索引
模式模式=模式。编译( Java );string test= 123 javajava matcher matcher=pattern。匹配器(测试);matcher.region(7,11);系统。出去。println(匹配器。区域start());//返回7系统。出去。println(匹配器。region end());//返回11火柴人。find();系统。出去。println(匹配器。group());//返回爪哇匹配器类提供了两种用于重置当前匹配器的方法:重置()和复位(字符序列输入)
模式模式=模式。编译( Java );string test= Java matcher matcher=pattern。匹配器(测试);火柴人。find();系统。出去。println(匹配器。group());//返回Java匹配器。reset();//从起始位置重新匹配火柴人。find();系统。出去。println(匹配器。group());//返回Java匹配器。重置( Python );系统。出去。println(匹配器。find());//返回错误的最后说一下制榫机类的匹配方法:replaceAll(字符串替换)和替换优先(字符串替换),其中全部替换是替换全部匹配到的字符串,而替换优先仅仅是替换第一个匹配到的字符串。
模式模式=模式。编译( Java );string test= JavaJavamatcher matcher=pattern。匹配器(测试);系统。出去。println(匹配器。替换所有( Python );//返回python python系统。出去。println(匹配器。先替换( python );//返回PythonJava还有两个方法追加替换(字符串缓冲区sb,字符串替换)和appendTail(StringBuffer sb)也很重要,追加替换允许直接将匹配的字符串保存在另一个字符串缓冲器中并且是渐进式匹配,并不是只匹配依次或匹配全部,而附录尾则是将未匹配到的余下的字符串添加到字符串缓冲器中。
模式模式=模式。编译( Java );匹配器matcher=模式。matcher( Java 1234 );系统。出去。println(匹配器。find());//返回true string buffer sb=新字符串缓冲区();matcher.appendReplacement(sb, Python );系统。出去。println(sb);//输出python matcher。附录(某人);系统。出去。println(sb);//输出Python1234