什么是正则表达式?
正则表达式(Regular Expression,常缩写为 Regex 或 RegExp)是一种用单个字符串来描述、匹配一系列符合某个句法规则的字符串的搜索模式。它被广泛用于文本查找、替换以及输入验证等场景。
常用元字符与语法速查
在编写正则表达式时,常见的元字符拥有固定的匹配含义:
.: 匹配除换行符以外的任意单个字符。^: 匹配输入字符串的开始位置。$: 匹配输入字符串的结束位置。*: 匹配前面的子表达式零次或多次。+: 匹配前面的子表达式一次或多次。?: 匹配前面的子表达式零次或一次,或声明非贪婪匹配。\d: 匹配一个数字字符,等价于[0-9]。\w: 匹配包括下划线的任何单词字符,等价于[A-Za-z0-9_]。
贪婪与非贪婪匹配的区别
默认情况下,正则匹配是“贪婪”的,即会尽可能多地匹配字符。例如用 a.*b 匹配 axxxbxxxb 会匹配整个字符串。而如果加上问号变成 a.*?b,则会启用“非贪婪”模式,一遇到符合条件的结束符就会停止,只匹配到第一个 axxxb。