1.常用用途
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),常用用途如下:
(1)字符串是否包含某子串
(2)匹配子串替换
(3)取出符合某条件子串
2.常用语法
(1)限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。
* 前面一个子表达式,匹配零次或一次或多次。
+ 前面一个子表达式,匹配一次或多次。
? 前面一个子表达式,匹配零次或一次。
{n} 前面一个子表达式,匹配n次(n为正数)。
{n,} 前面一个子表达式,最少匹配n次(n为正数)。
{n,m} 前面一个子表达式,最少匹配n次,最多匹配m次(n<=m,且为正数)。
例如:zo*表示第一个字符为z,后续无字符或有一个或有多个o。可匹配字符串为z zo zoo zoooo等。
例如:zo+表示第一个字符为z,后续有一个或多个o。可匹配字符串为zo zoo zoooo等,无法匹配z。
例如:zo?表示第一个字符为z,后续无字符或有一个o。可匹配字符串为z zo。
例如:zo{2}表示第一个字符为z,后续有两个o。仅可匹配zoo,无法匹配z、zo、zooo、zoooo等。
例如: zo{2,}表示第一个字符为z,后续至少有两个o。仅可匹配zoo、zooo、zooooo等,无法匹配z、zo。
例如: zo{2,3}表示第一个字符为z,后续有两个o或三个o。仅可匹配zoo、zooo,无法匹配z、zo、zooooo等。