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

    什么是正则表达式?

    正则表达式(Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,是一种字符模式,
    用于在查找过程中匹配指定的字符。
    许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。
    正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
    支持正则表达式的程序如:locate find vim grep sed awk
    第一类正则表达式:
    前导字符(即位于元字符前面的字符);所谓元字符就是指那些 在正则表达式中具有特殊意义的专用字符
    (1).: 任意单个字符,除了换行符
    (2)*: 前导字符出现 0 次或连续多次 ab*能匹配“a”,“ab”以及“abb”,但是不匹配“cb”
    (3).*: 任意长度的字符
    (4)^: 行的开头
    (5)$: 行的结尾
    (6)^$: 空行
    (7)[ ] 匹配指定字符组内的任一字符
    (8) [^] 匹配不在指定字符组内的任一字符
    (9)^[] 匹配以指定字符组内的任一字符开头
    (10)^[^] 匹配不以指定字符组内的任一字符开头
    (11)<: 取单词的头
    (12)>: 取单词的尾
    (13) <> 精确匹配符号
    (14) + 前导字符连续出现一次或者多次 例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
    (15) ? 前导字符连续出现零次或者一次
    (16) {n} 匹配前面字符连续出现n次
    (17) {n,} 匹配前面字符至少出现n次
    (18) {n,m} 匹配前面字符出现n次与m次之间
    (19) (..) 保存被匹配的字符
    d 匹配数字 [0-9]
    w 匹配字母数字下划线[a-zA-Z0-9_]
    s 匹配空格、制表符、换页符[ ]
     

    扩展类的正则表达式 grep -E | egerp

    扩展正则表达式元字符
    + 匹配一个或多个前导字符
    ? 匹配零个或一个前导字符
    a|b 匹配a或b
    () 组字符 hello myself yourself (my|your)self
    x{m} 字符x重复m次
    x{m,} 字符x重复至少m次
    x{m,n} 字符x重复m到n次
    通配符和正则表达式相应符号的区别:
    正则表达式 *(匹配0或多个前字符) ?(匹配0或1个前字符)
    通配符 *(匹配 0 或多个任意字符) ?(匹配任意单个字符)
    有时候,我们想让 通配符,或者元字符变成普通字符,不需要使用它。 shell提供转义符有三种。
    ' ' (单引号) 又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
    " " (双引号) 又叫软转义,其内部只允许出现特定的shell 元字符:$用于参数代换 `用于命令代替
    (反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义。
    第二类正则表达式(POSIX标准):
    表达式 功能 示例
    [:alnum:] 字母与数字字符 [[:alnum:]]+
    [:alpha:] 字母字符(包括大小写字母) [[:alpha:]]{4}
    [:blank:] 空格与制表符 [[:blank:]]*
    [:digit:] 数字字母 [[:digit:]]?
    [:lower:] 小写字母 [[:lower:]]{4,}
    [:upper:] 大写字母 [[:upper:]]+
    [:punct:] 标点符号 [[:punct:]]
    [:space:] 包括换行符,回车等在内的所有空白 [[:space:]]+
  • 相关阅读:
    CSS边框(圆角、阴影、背景图片)
    CSS3浏览器兼容
    HTML5全局属性
    HTLM5新增属性
    HTML5标签
    如何开始使用bootstrap
    重新了解Java基础(三)-运行机制&HelloWorld
    重新了解Java基础(二)-Java的特性
    Java关键字之native
    重新了解Java基础(一)
  • 原文地址:https://www.cnblogs.com/zhaoyuen/p/11556962.html
Copyright © 2011-2022 走看看