zoukankan      html  css  js  c++  java
  • 正则的[]与()

    对正则的模糊不清, 造就了今天的这篇文章

    可以配合这个正则测试工具 http://tool.oschina.net/regex 阅读本文

    首先是 [] 这个, 这个不管里边写多少, 写的是什么, 终究只能匹配一个字符, 而不是多个.

    比如 [15|13] 这个匹配出来的是 1或5或|或3 (注: 也就是说任何正则里的特殊字符, 除^在最前外, 在[]里, 都当作是待匹配的一个字符来看待), 而不是15或13, 如果需要匹配的结果是后者, 可以使用()

    即(15|13),  关于(), 他匹配出的是一个串中的子字符串

    比如匹配身份证的正则  ^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$ 

    大量使用了(), 说明了在匹配的结果中, 前6位, 然后4位, 2位, 2位 3位, 1位都可以去捕获

    比如 410181 2016 12 20 121 X

    当然了, 目前还没有这个身份证号码了, 中间我以空格形式格开了, 每个部分, 都可以在匹配结果中去捕获到, 这样做, 个人理解可以使获取某些值, 比如说, 出生在哪年, 哪月 更容易得到, 另外, 也方便进一步的验证了.

    关于捕获, 以及后向(一说反向, 一说逆向), 可以参考这里的说明 http://www.regexlab.com/zh/regref.htm 使用浏览器搜索 反向引用

    关于  ()  可以参考我的 这篇日志

  • 相关阅读:
    Rust-数据类型
    Rust-智能指针
    Rust-使用包、Crate和模块管理不断增长的项目
    Rust-Slice类型
    Rust-引用与借用
    Rust 的核心功能-所有权(ownership)
    How to fix “sudo: command not found error”
    ABC195 F
    CF1501D Two chandeliers【拓展欧几里得+二分】
    CCA的小球【容斥定理】
  • 原文地址:https://www.cnblogs.com/debmzhang/p/3953256.html
Copyright © 2011-2022 走看看