正则表达式入门到精通
这篇文章主要介绍了正则表达式的基本概念、语法和使用方法,包括匹配边界、出现次数、字符集合以及正向和反向预查等.
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
语法 | 说明 |
---|---|
^ | 匹配一个输入或一行的开头 |
& | 匹配一个输入或一行的结尾 |
语法 | 说明 |
---|---|
* | 匹配前面元字符0次或多次 |
+ | 匹配前面元字符1次或多次 |
? | 匹配前面元字符0次或1次 |
{n} | 精确匹配n次 |
{n,} | 匹配n次以上 |
{n,m} | 匹配n-m次 |
语法 | 说明 |
---|---|
[xyz] | 匹配这个集合中的任一一个字符 |
[^xyz] | 不匹配这个集合中的任何一个字符 |
? | 匹配前面元字符0次或1次 |
{n} | 精确匹配n次 |
{n,} | 匹配n次以上 |
{n,m} | 匹配n-m次 |
语法 | 说明 |
---|---|
\b | 匹配一个单词的边界 |
\B | 匹配一个单词的非边界 |
\d | 匹配一个数字字符,等于[0-9] |
\D | 匹配一个非数字字符,等于[^0-9] |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\s | 匹配一个空白字符,等于[\n\f\r\t\v] |
\S | 匹配一个非空白字符,等于[^\n\f\r\t\v] |
\t | 匹配一个制表符 |
\v | 匹配一个重直制表符 |
\w | 匹配一个可以组成单词的字符、下划线、数字,实际是除了([0-9a-zA-Z_])还包含了希腊字母,俄文等字母 |
\W | 匹配一个不可以组成单词的字符、下划线及数字 |
语法 | 说明 |
---|---|
(?) | 匹配结果。Java(?:6 |
(?=pattern) | 正向匹配。Java(?=6),匹配后面跟着6的Java,即第一个Java,结果Java6 Java7 |
(?!pattern) | 正向不匹配。Java(?!6),匹配后面不跟着6的Java,即第二个Java,结果Java6 Java7 |
语法 | 说明 |
---|---|
(?<=pattern) | 反向匹配。(?<=J)a,匹配紧跟字母J后面的a,结果Java6 Java7 |
(?<!pattern) | 反向不匹配。(?<!J)a,不匹配紧跟字母J后面的a,结果Java6 Java7 |
备注:Javascript不支持反向预查
本文作者:LiuXueChao
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!