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

    正则表达式(regex)

    正则表达式是用来检索或是替换字符串的一种逻辑公式,它具有以下特点:

    • 灵活性、逻辑性和功能性非常强
    • 可以迅速地用极简单的方式达到字符串的复杂控制

    下面介绍正则表达式的符号意义

    元字符 描述
    转义字符中的反斜杠,例如 换行、 回车
    d 0至9中的任意数字
    D 除0至9中的任意数字之外的任意字符
    w 任何字母、数字或下划线字符(可以认为是匹配单词的字符)
    W 除字母、数字或下划线以外的任何字符
    s 空格、制表符或换行符
    S 除空格、制表符或换行符之外的任何字符
    ( ) 将( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 1 到9 的符号来引用。
    * 匹配前面的子表达式任意次 例如 d*
    + 匹配前面的子表达式一次或多次(大于等于1次)
    ? 匹配前面的子表达式零次或一次
    | 将两个匹配条件进行逻辑“或”(or)运算。
    {} {}一般用来表示匹配的长度,比如 s{3} 表示匹配三个空格
    {n} n是一个非负整数。匹配确定的n
    {n,} n是一个非负整数。至少匹配n
    {n,m} mn均为非负整数,其中n<=m,最少匹配n次且最多匹配m
    ? 当该字符紧跟在任何一个其他限制符(,+,?,{n},{n,},{n,m*})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。
    [] []是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字
    - 在[]中表示范围,相当于"至"的意思,例如[0-5]只匹配数字0到5
    ^ 在[]中表示"非"的意思,例如[^0-5]表示除开0至5之外的所有字符
    ^ 在一个正则表达式开始处使用,表示匹配的字符要以后面的字符开始,例如(Hello)表示匹配的字符要以Hello开始
    $ 在一个正则表达式结束处使用,表示匹配的字符要以(前面的字符结束,例如(Hello))表示匹配的字符要以Hello结束
    . 通配符,匹配除换行之外的所有字符
    .* 表示任意文本,匹配任意文本

    更多相关资源:

    正则表达式教程(英文)

    正则表达式在线测试

    菜鸟教程正则表达式

  • 相关阅读:
    Python—函数基础篇
    C语言 文件操作(四)
    C语言 文件操作(三)
    C语言 文件操作(二)
    C语言 文件操作(一)
    C语言 生日快乐
    Matlab入门(二)
    Matlab入门(一)
    精华篇:数组指针
    汇编刷题:求一到100内的偶数之和(本程序将和按十六进制输出)
  • 原文地址:https://www.cnblogs.com/JAVA-54188/p/13770213.html
Copyright © 2011-2022 走看看