JAVASE(正则)

来源:互联网 发布:算卦一条街源码 编辑:程序博客网 时间:2024/05/21 14:47

测试正则表达式

import java.util.regex.Matcher;import java.util.regex.Pattern;

测试正则表达式
使用java的字符串去描述正则表达式的时候,会出现一个冲突,如何正确描述的”.”,在正则表达式中我们想描述一个”.”,但”.”在正则表达式中有特殊含义,它代表任意字符,所以我们在正则表达式中想描述”.”的原意就是写成”.”,但是我们用java的字符串去描述正则表达式的时候,因为”.”在java字符串中没有特殊含义,所以java认为我们书写String =”.”,是有语法错误的,因为
“.”不需要转义,就产生了冲突。

目地:我们实际的目地很简单,就是要让java的字符串描述”.”,所以那么在java中”.”是有特殊含义的,代表转义字符,我们只需要将”.”,转义为单纯的斜杠即可描述”.”了,所以我们用java描述”.”的正确写法是String s = “\\.”;

"^[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.com|\\.cn|\\.net)$"

^:表示字符串必须是以其后面的内容开始
$:表示字符串必须以其前面约束的内容结尾

若正则表达式不书写^或者$,正则表达式代表匹配部分内容,都加上表示全匹配

public class Testone {    public static void main(String[] args) {    //定义正则表达式    //邮箱格式的正则表达式        String regstr = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.com|\\.cn|\\.net)";    //Pattern的作用是描述正则表达式的/格式支持    //使用静态方法compile注册正则表式生成实例        Pattern pattern = Pattern.compile(regstr);        String mailstr = "DGC@yahoo.com";        Matcher matcher = pattern.matcher(mailstr);    //匹配字符串,返回描述匹配结果的Matcher实例            if(matcher.find()){            //通过调用Matcher的find方法得知是否匹配成功                System.out.println("true");            }else{                System.out.println("false");            }            String regPhoneNumber = "^\\d{11}$";    }}