--- title: 正则表达式入门 abbrlink: 13612574 categories: - 基础运维 tags: - regexp - 配置记录 date: 2022-02-25 14:41:39 --- 在线测试正则表达式: ## 字符匹配 普通字符:普通字符按照字面意义进行匹配,例如匹配字母 "a" 将匹配到文本中的 "a" 字符。 元字符:元字符具有特殊的含义,例如 \d 匹配任意数字字符,\w 匹配任意字母数字字符,. 匹配任意字符(除了换行符)等。 ## 量词 ```bash *:匹配前面的模式零次或多次。 +:匹配前面的模式一次或多次。 ?:匹配前面的模式零次或一次。 {n}:匹配前面的模式恰好 n 次。 {n,}:匹配前面的模式至少 n 次。 {n,m}:匹配前面的模式至少 n 次且不超过 m 次。 ``` ## 字符类 ```bash [ ]:匹配括号内的任意一个字符。例如,[abc] 匹配字符 "a"、"b" 或 "c"。 [^ ]:匹配除了括号内的字符以外的任意一个字符。例如,[^abc] 匹配除了字符 "a"、"b" 或 "c" 以外的任意字符。 ``` ## 边界匹配 ```bash ^:匹配字符串的开头。 $:匹配字符串的结尾。 \b:匹配单词边界。 \B:匹配非单词边界。 ``` ## 分组和捕获 ```bash ( ):用于分组和捕获子表达式。 (?: ):用于分组但不捕获子表达式。 ``` ## 特殊字符 ```bash \:转义字符,用于匹配特殊字符本身。 .:匹配任意字符(除了换行符)。 |:用于指定多个模式的选择。 ``` ## 例子 比如做用户名验证: ```bash ^[0-9a-z_-]{3,15}$ ``` 字母 a-z 数字 0-9 下划线 中划线 结尾