regex

来源:互联网 发布:mac flash 安装不允许 编辑:程序博客网 时间:2024/06/05 10:28
\\                \
\t              制表符
\n                 换行
[abc]           a||b||c
[^abc]             ^(a||b||c)
[a-zA-Z0-9]    
\d              数字
\D              非数字
\w              数字字母下划线
\W              ^\w
\s              所有空白符(换行 空格)
\S              ^\s
^               行开头
$                行结尾
.                ^\n[^\s]  (除\n的所有字符)  

X               必须出现一次
X?              0||1
X*                >0
X+                >1
XY                X后面必须是Y
X|Y                X或者Y
X{n}            =n
X{n,}            >n
X{n,m}          n>temp>m
(X)                作为一个捕获组规范

正则表达式除了用String 相关函数
还有一个选择
Pattern 类    (必须调用complie)
public static Pattern complie(String reg)               指定正则
public Matcher matcher(CharSequence input)                 返回Matcher
public String [] split(CharSwquence input)              拆分

Matcher 类
public boolean matchers()   执行验证
public String replaceALL(String replacement)

String 类
public boolean matchers(String regex)
public String  replaceALL(Stirng regex,String replacement)
public String[] split

    
    eg:    
        String info="132";
        Pattern pattern=Pattern.compile("[0-9]+");
        Matcher macher=pattern.matcher(info);
        if(macher.matches())
            System.out.println("yes");
        else
            System.out.println("no");

    eg:
        String date="1983-07-27";
        String reg="\\d{4}-\\d{2}-\\d{2}";
        Pattern pattern=Pattern.compile(reg);
        Matcher matcher=pattern.matcher(date);
        if(matcher.matches())
            System.out.println("yes");
        else
            System.out.println("no");

    eg:
        String info="A1ka4642131asdbsdjksad445456465";
        String reg="\\d+";  //对于这个表达式 必须数据大于1(+)   如果是>0 则 造成每个字符都分割
        String str[]=Pattern.compile(reg).split(info);
        for(String s:str)
            System.out.println(s);
    eg:
        String info="A1ka4642131asdbsdjksad445456465";
        String reg="\\d+";  //对于这个表达式 必须数据大于1(+)   如果是>0 则 造成每个字符都分割
        Pattern pattern=Pattern.compile(reg);
        Matcher matcher=pattern.matcher(info);
        System.out.println(matcher.replaceAll("_"));
0 0
原创粉丝点击