正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
正则表达式可以在文本中查找、替换、提取和验证特定的模式。
一般的查找命令是:grep,sed,awk
元字符
元字符时一些具有特殊意义的字符。当需要匹配元字符时,需要使用转义(\)。
^ | 匹配输入字符串的开始位置。在方括号中使用时,表示不包含该字符集合。 |
$ | 匹配输入字符串的末尾位置。如果设置了RegExp对象的Multiline属性,则"$"也匹配'\n'或'r' |
. | '.'表示除'\n'和'\s'以外的任意单个字符 |
\ | 转义字符,去除后面元字符的特殊意义 |
* | 匹配前面子表达式零次或多次 |
+ | 匹配前面子表达式一次或多次 |
? | 匹配前面子表达式零次或者一次 |
[] | 字符集合,匹配所包含的任意字符 |
[^] | 匹配未包含在[]内的任意字符 |
[n1-n2] | 字符范围。匹配指定方位内的任意字符。例如[a-z],匹配a到z范围内的任意小写字母 |
{n} | n是非负整数,匹配确定的n次。例如 o{2},不能匹配字符Bod,但是可以匹配字符food中的oo。 |
{n,} | n是一个非负整数,至少匹配n次。例如:o{2,},不能匹配Bob中的o,但是可以匹配foooooood中所有的o,相当于o+ |
{n,m} | n和m均为非负整数。至少匹配n次,至多匹配m次。 |
| | 指两项中的一个选择 |
() | 组的意思,表示一组字符串,顺序也必须一致。例如(abc),必须是匹配abc字符串。(abc|123),表示匹配abc或者123字符串。 |