正则表达式就是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。说白了就是模糊匹配。其中:
- . 表示单个的字符
- * 表示重复前一个字符0次或多次
- + 表示重复前一个字符1次或多次
- .* 可以为空,但 .+ 至少有一个字符
- ..* 与 .+ 等价
- ? 表示重复前一个字符0次或1次
- {m} 表示前一个字符m次重复
- {m,n} 表示m字符重复n次
- ^once 表示以once开头的字符串
- once$ 表示以once结尾的字符串
- ^once$ 表示和once一样的字符串
- 如果什么都不加只是once则匹配所有包含once的字符串
- [a-z] 匹配所有的小写字母
- [a-zA-Z] 匹配所有的字母
- [a-zA-Z\.\,\n] 匹配所有的字母、句号逗号和回车符( \ 在这里同样表转义)
- ^[a-z][0-9]$ 只匹配第一个元素为小写字母,第二个元素为数字的两位字符串(加中括号代表一位元素)
- ^[^a-z][0-9]$ 这里的^放在中括号内表示取非,也就是以除了小写字母开头,第二个元素为数字的两位字符串
- ( ) 集合,内含可选项,也可不选
- A|B 集合中选项的分割,可选则A或B
- (?:) 不匹配集合
- \w 匹配数字、字母、下划线
- \W 匹配非\w
- \d 匹配十进制数
- \D 匹配非十进制数
- \s 匹配空白字符,包括空格、制表、换页等
- \S 匹配非空白字符