A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15572805799 初级黑马   /  2016-12-6 13:48  /  1073 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

{:8_525:}{:8_530:}# 正则表达式## 正则表达式的获取功能
    Pattern和Matcher的结合使用.

    String str = "我的手机号码是13838383381"
    String regex = "1[3578]\\d{9}";
    Pattern p = Pattern.compile(regex); //获取正则表达式
    Matcher m = p.matcher(str);         //获取匹配器
    boolean b = m.matches();

    检验邮箱的功能
    String str = "haoyishen@itcast.cn"

    String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]{2,3})+";
    String regex = "\\w+@\\w+(\\.\\w{2,3})+";

##预定义字符类
    .       任何字符
    \d      数字[0-9]
    \D      非数字[^0-9]
    \w      单词字符[a-zA-Z_0-9]
    \W      非单词字符[^\w]
    \s      空白字符[\t\n\x0b\f\r]
    \S      非空白单词[^\s]

##数量词
    ?       一次或一次也没有
    *       零次或者多次
    +       一次或者多次
    {n}     恰好n次
    {n,}    至少n次
    {n,m}   至少n次,但是不超过m次

##分组和捕获
    1     ((A)(B(C)))
    2     (A)
    3     (B(C))
    4     (C)

> 之所以这样命名捕获组是因为在匹配中,保存了与这些组匹配的输入序列的每个子序列。捕获的子序列稍后可以通过 Back 引用在表达式中使用,也可以在匹配操作完成后从匹配器获取。



> 与组关联的捕获输入始终是与组最近匹配的子序列。如果由于量化的缘故再次计算了组,则在第二次计算失败时将保留其以前捕获的值(如果有的话)例如,将字符串 "aba" 与表达式 (a(b)?)+ 相匹配,会将第二组设置为 "b"。在每个匹配的开头,所有捕获的输入都会被丢弃.

> 以 (?) 开头的组是纯的非捕获组,它不捕获文本,也不针对组合计进行计数。 {:8_525:}


1 个回复

倒序浏览
谢谢,,,,分享!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马