作家
登录

令人抓狂的代码 - 万能正则表达式.*陷阱

作者: 来源: 2017-10-24 16:07:29 阅读 我要评论

  • println(m.matches()) 
  • // 输出 
  • true 
  • 5)Pattern.LITERAL

    Pattern.DOTALL和(?s)是等价的。

    启用字面(literal)模式解析,模式中的元字符和转义字符将按照通俗字符解析。

    1. val p = Pattern.compile(".*", Pattern.LITERAL) 
    2. val m = p.matcher("scala"
    3. println(m.matches()) 
    4. // 输出 
    5. false 

    6)Pattern.COMMENTS

    正则表达式中许可出现空白符(whitespace)和注解(comments),空白符会被忽视,以#开首的注解行也将被忽视,等价于润饰符(?x);

    1. val p = Pattern.compile(" .* ", Pattern.COMMENTS) 
    2. val m = p.matcher("scala"
    3. println(m.matches()) 
    4. // 输出 
    5. true 

    注:有些编程说话(例如JavaScript)不支撑嵌入模式润饰符(embedded mode modifier),这时可以应用另一种解决筹划:

    1. [\s\S]* 

    [\s]会匹配随便率性空白字符,[\S]而则会匹配[\s]不克不及匹配的随便率性字符。把这二者组合起来构成[\s\S],如许就会获得一个包含所有字符的字符组,个中也包含了换行符。

    【编辑推荐】

    1. Java在线问题排查利器之Btrace&Greys
    2. Java帝国之动态代劳
    3. Java注解是怎么成功上位的?
    4. 一张思维导图,让正则表达式不再难解
    5. 泥瓦匠 5 年 Java 的成长感悟(下)
    【义务编辑:庞桂玉 TEL:(010)68476606】

      推荐阅读

      中看不中用?四招教你解决主机散热布局

    沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 在散热不好的平台中,高机能的硬件不仅不克不及发挥实力,还会受到高温的影响而降频,反而会降低整机机能,>>>详细阅读


    本文标题:令人抓狂的代码 - 万能正则表达式.*陷阱

    地址:http://www.17bianji.com/lsqh/38144.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)