zoukankan      html  css  js  c++  java
  • 正则表达式

    1,元字符

    ^" :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。 

       "$"  :$会匹配行或字符串的结尾

     "" :不会消耗任何字符只匹配一个位置

    "d": 匹配数字,

     "w":匹配字母,数字,下划线.

     "s":匹配空格 

    ".":匹配除了换行符以外的任何字符

    "[abc]": 字符组  匹配包含括号内元素的字符 

      "W"   匹配任意不是字母,数字,下划线 的字符

       "S"   匹配任意不是空白符的字符

     "D"  匹配任意非数字的字符

       "B"  匹配不是单词开头或结束的位置

       "[^abc]"  匹配除了abc以外的任意字符

    2,限定符

    "*?"   重复任意次,但尽可能少重复 

    "+?"  重复1次或更多次,但尽可能少重复

    "??"  重复0次或1次,但尽可能少重复

    "{n,m}?"  重复n到m次,但尽可能少重复

    "{n,}?"    重复n次以上,但尽可能少重复

    3,捕获分组

    "(exp)"    匹配exp,并捕获文本到自动命名的组里

    "(?<name>exp)"   匹配exp,并捕获文本到名称为name的组里

    "(?:exp)"  匹配exp,不捕获匹配的文本,也不给此分组分配组号

    以下为零宽断言

    "(?=exp)"  匹配exp前面的位置

      如 "How are you doing" 正则"(?<txt>.+(?=ing))" 这里取ing前所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为"How are you do";

    "(?<=exp)"  匹配exp后面的位置

      如 "How are you doing" 正则"(?<txt>(?<=How).+)" 这里取"How"之后所有的字符,并定义了一个捕获分组名字为 "txt" 而"txt"这个组里的值为" are you doing";

    "(?!exp)"  匹配后面跟的不是exp的位置

      如 "123abc" 正则 "d{3}(?!d)"匹配3位数字后非数字的结果

    "(?<!exp)"  匹配前面不是exp的位置

      如 "abc123 " 正则 "(?<![0-9])123" 匹配"123"前面是非数字的结果也可写成"(?!<d)123"

     

  • 相关阅读:
    OpenCV 机器学习之 支持向量机的使用方法实例
    Lua中调用C函数(lua-5.2.3)
    我的Hook学习笔记
    几种开源分词工具的比較
    利用JasperReport+iReport进行Web报表开发
    移动前端开发者必知必会:移动设备概述
    图表插件--jqplot交互演示样例
    算法之二叉树各种遍历
    repo的小结
    sqlite3经常使用命令&amp;语法
  • 原文地址:https://www.cnblogs.com/wpjzh/p/12195440.html
Copyright © 2011-2022 走看看