一个在线正则表达式工具 在线正则表达式测试
正则表达式的基本要素 ①字符类 ②数量限定符 ③位置限定符 ④特殊符号
字符类
字符含义.匹配任意一个字符,比如a.可以匹配ab或者ac[ ]匹配[ ]中任意一个字符,比如[1234]可以匹配12或123或1234^搭配[ ]使用,表示匹配除[ ]中的字符,比如[^1234]可以匹配56或89,但不能匹配12-搭配[ ]使用,表示范围,比如匹配数字和字母组成的字符可以写作[a-zA-Z0-9]数量限定符
字符含义?紧跟在前面的单元匹配零次或一次+紧跟在前面的单元匹配一次或多次*紧跟在前面的单元匹配零次或多次{n}紧跟在前面的单元精准匹配n次{m,n}紧跟在前面的单元匹配m至n次{m,}紧跟在前面的单元匹配至少m次{,n}紧跟在前面的单元匹配至多n次数量限定符只限定紧跟在他前面的一个单元。比如abc*表示c出现零次或多次,(abc)*表示abc整体出现零次或多次。
位置限定符
字符含义^匹配行首的位置,比如^a表示匹配以a开头的那一行$匹配行末的位置,比如$a表示匹配以a结尾的那一行\<匹配单词开头的位置,比如\< he表示匹配以he开头的单词\>匹配单词结尾的位置,比如he\>表示匹配以he结尾的单词\b匹配单词开头或结尾的位置,比如\bhe匹配以he开头的单词,he\b匹配以he结尾的单词\B匹配非单词开头和结尾的位置,比如\Bhe匹配不以he开头的单词特殊符号
字符含义\转义字符()将表达式的一部分用()组成一个单元,可以对整个单元使用数量限定符|连接两个子表达式,表示或的关系 基本正则与扩展正则 基本正则grep?+{}()为普通字符,经\转义后为特殊扩展正则egrep?+{}()为特殊字符,经\转义后为普通grep -E 表示扩展正则。 grep是贪婪模式,即尽可能多的匹配符合条件的内容。
其他常用通用字符及其替换
字符匹配替换正则\d数字字符[0-9]\D非数字字符[^0-9]\w数字字母下划线[a-zA-Z0-9_]\W非数字字母下划线[^\w]\s表格、换行等空白区域[\r\t\n\f]\S非空白区域[^\s]一个正则匹配手机号的表达式: ‘^1[345789][0-9]{9}$’