正则表达式其实就是一个非凡的字符串,假如需要对字符串的内容举办阐明匹配,正则表达式是一个不错的选择。简朴的用String也能实现该进程,可是那会相当的繁琐。java正则表达式提供了较量富厚的类库,大大简化了这个进程。下面列出常用的根基语法:
* + ? ^ $ [] () | / \ \d \D \w \W {} {n} {n,m}等,
要留意的是“|”或标记。它可以匹配单个字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因为在方括号内只能匹配单个字符,要匹配toon,利用t(a|e|i|o|oo)n就可以实现toon。
正则表达式就是个纯熟的进程,没有什么过分于抽象的处所。其实学软件(不喜欢“编程”两个字)以致其他行业都一样,措施员的一项硬性指标就是代码量。代码量越多说明越熟悉(或把握或能干)这个实现进程。履历不是学出来的,就像语言不能进修一样。那是要靠一个量的积聚。熟才气生巧(昔人真锋利,他们早知道这个原理),创新的前提是对某一项事物到达了很是纯熟的水平。在此与伴侣们共勉。
(二)String对正则表达式的支持要领:.matches(regex) 匹配括号内的正则表达式;
.split(regex)切分字符串为字符数组。虽然返回值是字符数组
.replace(old String,new String)用新的字符串替代旧的字符串。需要说明的是这个替代进程本来的字符串是稳定的,而是从头new一个字符串。
如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"换成”ff“
System.out.println(str); //此时输出str的值跟开始初始化时的值一样
System.out.println(str2); //str2的值酿成想要的到的”affde“
.replaceAll(regex,String)跟replace雷同。