简介

正则表达式是什么

正则表达式(Regular Expression、regex或regexp,缩写为RE),也翻译为正则表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。 许多程序设计 语言都支持利用正则表达式进行字符串操作。 支持正则表达式的程序:locate、find、vim、grep、sed、awk

正则能干什么

匹配邮箱、身份证号码、手机号、银行卡等匹配某些特定字符串,做特定处理等

正则当中名词解释

元字符

指那些在正则表达式中具有特殊意义的专用字符。如:点(.)、星(*)、问号(?)等

前导字符

位于元字符前面的字符。

正则表达式

第一类正则表达式

正则中普通常用的元字符

元字符功能备注.匹配除了换行符以外的任意单个字符*前导字符出现0次或连续多次.*任意长度字符ab.*^行首(以…开头)^root$行尾(以…结尾)bash$^$空行^$[]匹配括号里任意单个字符或一组单个字符[abc][^]匹配不包含括号里任意单个字符或一组单个字符[^abc]^ []匹配以括号里任意单个字符或一组单个字符开头^ [abc]^ [^]匹配不以括号里任意单个字符或一组单个字符开头^ [^abc]

正则中其他常用的元字符

元字符功能备注\<取单词的头\取单词的尾word\>\< \>精确匹配(grep -w)\\{n\}匹配前导字符连续出现n次ab\(2\}\{n,\}匹配前导字符至少出现n次ab\(2,\}\{n,m\}匹配前导字符出现n次与m次之间ab\(2,5\}\( \)保存被匹配的字符\(a b\)\d匹配数字(grep -P)[0-9]\w匹配字母数字下划线(grep -P)[z-aA-Z0-9]\s匹配空格、制表符、换页符(grep -P)[\t\r\n]

正则中常见的扩展元字符

扩展元字符功能备注+匹配一个或多个前导字符bo+匹配boo、bo?匹配零个或一个前导字符bo?匹配b、bo|或匹配a或b()组字符(看成一个整体){n}前导字符重复n次{n,}前导字符重复至少n次{n,m}前导字符重复n到m次

第二类正则表达式

表达式功能示例[:alnum:]字母与数字字符[:alpha:]字母字符(包含大小写字母)[:blank:]空格与制表符[:digit:]数字[:lower:]小写字母[:upper:]大写字母[:punct:]标点符号[:space:]包括换行符,回车符等在内的所有空白

正则表达式总结

正则表达式需要掌握的原则

我要找什么?

找数字 [0-9]找字母 [a-zA-Z]找标点符号 [[:punct:]] 我要如何找?

以什么为首 ^key以什么结尾 key$包含什么或不包含什么 [abc] ^ [abc] [ ^abc] ^ [ ^abc] 我要找多少?

找前导字符出现0次或连续多次 ab*找任意单个(一次)字符 ab.找任意字符 ab.*找前导字符连续出现几次 {n} {n,m} {n,}找前导字符出现1次或多次 go+找前导字符出现0次或1次 go?

正则元字符一览表

解释

元字符:

在正则中,具有特殊意义的专用字符,如:星号(*)、加号(+)、问号(?)等

前导字符:

元字符前面的字符叫前导字符

列表

元字符功能举例*前导字符出现0次或连续多次ab*.除了换行符以外,任意单个字符ab..*任意长度的字符ab.*[]括号里的任意单个字符或一组单个字符[abc][0-9][A-Z][^]不匹配括号里的任意单个字符或一组单个字符[^abc]^ [ ]匹配以括号里的任意单个字符开头^ [abc]^ [^]不匹配以括号里的任意单个字符开头^ [^abc]^以XXX开头^root$以XXX结尾root$^$空行\{n\}和{n}前导字符连续出现n次[0-9]\{3\}\{n,\}和{n,}前导字符至少出现n次[a-z]\{4,\}\{n,m\}和{n,m}前导字符连续出现n-m次go\{2,4\}\<\>精确匹配单词\\(\)保留匹配到的字符\(word\)+前导字符出现1次或多次[0-9]+?前导字符出现0次或1次go?|或root|pass()组字符(hello|word)123\dperl内置正则grep -P \d+\w匹配字母数字下划线

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: