返回
技术周报 · 2021-03-05
前端
2024-01-09 13:17:00
正文
正则表达式
正则表达式 (英语:Regular Expression,在代码中常简写为regex、regexp或RE),又称正规表示法、正规表达式,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式的文本。很多工具都支持正则表达式,例如:grep、awk、sed等。
正则表达式的基本概念
元字符 :元字符是指在正则表达式中具有特殊意义的专用字符,可以用它们来规定其前面的子表达式匹配的行为。
元字符 | 说明 |
---|---|
. |
匹配除换行符(\n、\r)之外的任何单个字符。 |
^ |
匹配字符串的开始。 |
$ |
匹配字符串的结尾。 |
* |
匹配前面的子表达式零次或多次。 |
+ |
匹配前面的子表达式一次或多次。 |
? |
匹配前面的子表达式零次或一次。 |
[] |
匹配指定范围内的字符。 |
[^] |
匹配指定范围外的字符。 |
` | ` |
量词 :量词用于指定前面的子表达式出现的次数。
量词 | 说明 |
---|---|
* |
匹配前面的子表达式零次或多次。 |
+ |
匹配前面的子表达式一次或多次。 |
? |
匹配前面的子表达式零次或一次。 |
{n} |
匹配前面的子表达式n次。 |
{n,} |
匹配前面的子表达式n次或更多次。 |
{n,m} |
匹配前面的子表达式n到m次。 |
分组 :分组用于将正则表达式划分为子表达式,以便对它们进行引用或操作。
分组 | 说明 |
---|---|
() |
将其内的子表达式括起来,形成一个组。 |
(?P<name>) |
将其内的子表达式括起来,并为其指定一个名称。 |
引用 :引用用于引用前面定义的子表达式。
引用 | 说明 |
---|---|
\1 |
引用第一个子表达式。 |
\2 |
引用第二个子表达式。 |
\n |
引用第n个子表达式。 |
示例
以下是一些正则表达式的示例:
^Hello\s+World!$
该正则表达式匹配以“Hello World!”开头的字符串。
[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+
该正则表达式匹配电子邮件地址。
<a href="http://[^"]+">.*?</a>
该正则表达式匹配HTML链接。
正则表达式的应用
正则表达式可以用于各种各样的任务,例如:
- 文本搜索
- 文本替换
- 数据验证
- 数据提取
- 代码生成
总结
正则表达式是一种强大的工具,可以用于处理各种各样的文本数据。掌握正则表达式,可以提高你的开发效率,让你用一种快捷的方式读取或控制你的数据。
参考资料
欢迎订阅本博客,持续关注技术周报。