正则表达式概述
也称为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。
许多程序设计语言都支持利用正则表达式进行字符串操作。
正则表达式这个概念最初是Unix中的工具软件(比如sed和grep)普及开的。
作用
校验身份证号,邮箱,密码,手机号。。。。
正则中的名词解释:
元字符
指那些在正则表达式中具有特殊意义的专用字符,如:点(.)星(*)问号(?)等。
前导字符
位于元字符前面的字符: 比如:abc* 前导字符是C
正则中的元字符
. 匹配除了换行符以外的任意单个字符
* 前导字符出现0次或连续多次
.* 任意长度字符
^ 行首(以。。。开头)
$ 行尾(以。。。结尾)
^$ 空行
[] 匹配括号里面任意单个字符或一组单个字符
[^] 匹配不包含括号里任一单个字符或一组单个字符
^[] 匹配以括号里任意单个字符或一组单个字符开头
^[^] 匹配不以括号里任意单个字符或一组单个字符开头
\< 取单词的头
\> 取单词的尾
\<\> 精确匹配
\{n\} 匹配前导字符连续出现n次
\{n,\} 匹配前导字符至少出现n次
\{n,m\} 匹配前导字符出现n次与m次之间
\(\) 保存被匹配的字符
\d 匹配数字(grep -P)
\w 匹配字母数字下划线(grep -P)
\s 匹配空格、制表符、换页符(grep -P)
扩展类正则常用元字符
grep需要加 -E
+ 匹配一个或多个前导字符
? 匹配0个或一个前导字符
| 或
() 组字符(看成整体)
{n} 前导字符重复至少n次
{n,} 前导字符重复至少n次
{n,m} 前导字符重复n到m次
[:alnum:] 字母与数字字符
[:alpha:] 字母字符(包括大小写)
[:blank:] 空格与制表符
[:digit:] 数字
[:lower:] 小写字母
[:upper:] 大写字母
[:punct:] 标点符号
[:space:] 包括换行符,回车等在内的所有空白