您的位置:首页 > 其它

正则表达式

2014-07-12 13:22 148 查看
正则表达式是一类字符书写的模式,其中许多字符不表示其字符表面意义,而表示控制或者通配等功能。 元字符的作用是不表示其字面意义,用于表示额外功能的描述正则表达式的元字符 字符匹配包括以下:. :匹配任意单个字符[] :匹配指定范围内的任意单个字符。 常用的有以下几个:[[:alnum:]] :文字,数字字符 [[:alpha:]] :字母字符[[:lower:]] :小写字符 [[:upper:]] :大写字符[[:digit:]] :小数 [[:xdigit:]] :十六进制数字[[:punct:]] :标点符号 [[:blank:]] :制表符和空格[[:space:]] :空格 [[:cntrl:]] :所有控制符[[:print:]] :所有可打印的字符 [[:graph:]] :除空格外的所有可打印字符反义:[^] 也就是取反 次数匹配的元字符:实现指定其前面的字符所能够出现的次数 * : c重复0次或者更多次 + :重复一次或者更多次? :重复0次或者一次 {n} :重复n次{n,} :重复n次或者多次 {m,n} : 重复不少于n次,不多于m次.* :表示任意长度的字符例:找出words中所有以大写字母开头,以小写t结尾的行

正则表达式的子表达式

  正则表达式“(or){2,}“ 匹配所有or重复两次或者更多次的行,如果去掉or两边的括号,那么这条正则表达式匹配的是”字母o后边紧跟两个或者更多字母r的行。正则表达式的位置锚: ^:行首锚定,写在模式的最左侧 $:行尾锚定:出现模式的最右侧 ^$:表示空白行 单词和字符串的区别:不包含特殊字符的连续字符组成的串叫做单词:
 \<:词首,出现于单词的左侧 \>:词尾,出现于单词右侧 逆向引用:  在子表达式(分组)中捕获的内容可以在正则表达式中的其他地方再次使用,可以使用反线“\”加上子表达式的编号来之代该分组所匹配到的内容。 (\<.*\>.?()*\1  此正则表达式表达的是在匹配到的某个单词出现后,紧跟0个或者一个标点符号以及任意个空格之后再次出现这个单词的行。解释:(\<.*\> :匹配任意长度的单词。 .? :匹配0个或者多个标点符号。(由于在句点之前匹配的是单词,因此句点“.”在这里只能匹配标点。( )* :匹配0个或者多个空格 \1 :指代第一个子表达式匹配到的模式正则表达式的字符转译: 由于各个符号在正则表达式中都不表达原来的含义。所以在正则表达式中可以使用反斜线加上元字符表达原来的含义。“\”:取消所有元字符的特殊含义。常用命令选项: -v: 反向选取 -o: 仅显示匹配的字串,而非字串所在的行 -i:ignore-case,忽略字符大小写 -E: 支持使用扩展正则表达式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: