正则表达式
正则表达式是一种文本匹配的模式,由普通字符和特殊字符(元字符)组成,可以快速匹配、提取、替换符合指定模式的文本。
元字符的含义
字符匹配
- .:匹配单个除换行符外的字符。例如te.t可以匹配text、test。
- []:匹配方括号内列出的字符集合中的任意一个字符,若字符集合前使用了字符“^”,则表示不匹配,字符集合可使用范围表示。例如te[xyz]t可以匹配text,不能匹配test;而te[^xyz]t则相反。
- \w:匹配任意字母、数字、下划线,等同于[A-Za-z0-9_]。\W与\w的含义相反。
- \s:匹配任意的空格、换行、制表符等空白字符。\S与\s的含义相反。
数量匹配
- ?:前面的元素匹配零次到一次。例如zo?可以匹配z、zo,不能匹配zoo。
- *:前面的元素匹配零次到多次。例如zo*可以匹配z、zo、zoo。
- +:前面的元素匹配一次到多次。例如zo+可以匹配zo、zoo,不能匹配z。
- {min,max}:前面的元素匹配min次到max次。例如zo{1,2}可以匹配zo、zoo,不能匹配z。
位置匹配
- ^:匹配一行的开始。^the可以匹配文本行the cat is in the hat。
- $:匹配一行的结束。hat$可以匹配文本行the cat is in the hat。
其它字符
- |:或操作,多个表达式任选其一。
- ():标记一个表达式的开始与结束。