简介
正则表达式是什么
正则表达式(Regular Expression、regex或regexp,缩写为RE),也翻译为正则表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。 许多程序设计 语言都支持利用正则表达式进行字符串操作。 支持正则表达式的程序:locate、find、vim、grep、sed、awk
正则能干什么
匹配邮箱、身份证号码、手机号、银行卡等匹配某些特定字符串,做特定处理等
正则当中名词解释
元字符
指那些在正则表达式中具有特殊意义的专用字符。如:点(.)、星(*)、问号(?)等
前导字符
位于元字符前面的字符。
正则表达式
第一类正则表达式
正则中普通常用的元字符
元字符功能备注.匹配除了换行符以外的任意单个字符*前导字符出现0次或连续多次.*任意长度字符ab.*^行首(以…开头)^root$行尾(以…结尾)bash$^$空行^$[]匹配括号里任意单个字符或一组单个字符[abc][^]匹配不包含括号里任意单个字符或一组单个字符[^abc]^ []匹配以括号里任意单个字符或一组单个字符开头^ [abc]^ [^]匹配不以括号里任意单个字符或一组单个字符开头^ [^abc]
正则中其他常用的元字符
元字符功能备注\<取单词的头\
正则中常见的扩展元字符
扩展元字符功能备注+匹配一个或多个前导字符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\}\<\>精确匹配单词\
参考阅读
发表评论