常用正则
简介
正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串中特定模式的特殊语法。它广泛应用于文本处理、数据验证和自动化任务中。
多级标题
1. 基本正则语法
`^`:匹配字符串开头
`$`:匹配字符串结尾
`.`:匹配任何单个字符
`
`:匹配前一个元素零次或多次
`+`:匹配前一个元素一次或多次
`?`:匹配前一个元素零次或一次
`|`:匹配多个模式中的任何一个
2. 字符类
`\d`:匹配数字
`\w`:匹配字母、数字或下划线
`\s`:匹配空白字符(空格、制表符、换行符)
`[abc]`:匹配方括号中的任何字符
`[^abc]`:匹配不在方括号中的任何字符
3. 量词
`{n}`:匹配前一个元素恰好 `n` 次
`{n,}`:匹配前一个元素至少 `n` 次
`{n,m}`:匹配前一个元素至少 `n` 次,最多 `m` 次
4. 分组和引用
`()`:将表达式分组,并将其捕获为一个子模式
`\1`:引用第一个捕获的子模式
`\2`:引用第二个捕获的子模式
`(?<=)`:匹配前面是某个模式的内容
`(?=)`:匹配后面是某个模式的内容
5. 其他常用正则
`\s+$`:匹配字符串末尾的所有空白字符
`^[A-Z][a-z]+`:匹配以大写字母开头且后面是小写字母的单词
`.
?`:匹配尽可能短的匹配项
`\b\w+\b`:匹配单词(由字母组成的字符串,前后有单词边界)
`[0-9]+(\.[0-9]+)?`:匹配数字或带有小数点的数字
内容详细说明
正则表达式可以用于查找、替换、验证和提取字符串中的信息。以下是使用正则表达式的常见任务的示例:
提取电子邮件地址:
``` \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b ```
验证电话号码:
``` \(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4} ```
查找重复的单词:
``` (.
?)\1+ ```
替换所有空格为下划线:
``` \s+ ```
学习资源
[正则表达式教程](https://www.w3schools.com/regex/)
[正则表达式速查表](https://www.cheatography.com/cheat-sheets/regex/)
[正则表达式在线测试工具](https://regex101.com/)
结论
正则表达式是一种强大的工具,可用于处理字符串,执行复杂的任务并自动化文本处理过程。通过了解基本语法、字符类、量词、分组和引用,您可以有效地使用正则表达式来解决广泛的文本处理问题。
**常用正则****简介**正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串中特定模式的特殊语法。它广泛应用于文本处理、数据验证和自动化任务中。**多级标题****1. 基本正则语法*** `^`:匹配字符串开头 * `$`:匹配字符串结尾 * `.`:匹配任何单个字符 * `*`:匹配前一个元素零次或多次 * `+`:匹配前一个元素一次或多次 * `?`:匹配前一个元素零次或一次 * `|`:匹配多个模式中的任何一个**2. 字符类*** `\d`:匹配数字 * `\w`:匹配字母、数字或下划线 * `\s`:匹配空白字符(空格、制表符、换行符) * `[abc]`:匹配方括号中的任何字符 * `[^abc]`:匹配不在方括号中的任何字符**3. 量词*** `{n}`:匹配前一个元素恰好 `n` 次 * `{n,}`:匹配前一个元素至少 `n` 次 * `{n,m}`:匹配前一个元素至少 `n` 次,最多 `m` 次**4. 分组和引用*** `()`:将表达式分组,并将其捕获为一个子模式 * `\1`:引用第一个捕获的子模式 * `\2`:引用第二个捕获的子模式 * `(?<=)`:匹配前面是某个模式的内容 * `(?=)`:匹配后面是某个模式的内容**5. 其他常用正则*** `\s+$`:匹配字符串末尾的所有空白字符 * `^[A-Z][a-z]+`:匹配以大写字母开头且后面是小写字母的单词 * `.*?`:匹配尽可能短的匹配项 * `\b\w+\b`:匹配单词(由字母组成的字符串,前后有单词边界) * `[0-9]+(\.[0-9]+)?`:匹配数字或带有小数点的数字**内容详细说明**正则表达式可以用于查找、替换、验证和提取字符串中的信息。以下是使用正则表达式的常见任务的示例:* **提取电子邮件地址:** ``` \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b ```* **验证电话号码:** ``` \(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4} ```* **查找重复的单词:** ``` (.*?)\1+ ```* **替换所有空格为下划线:** ``` \s+ ```**学习资源*** [正则表达式教程](https://www.w3schools.com/regex/) * [正则表达式速查表](https://www.cheatography.com/cheat-sheets/regex/) * [正则表达式在线测试工具](https://regex101.com/)**结论**正则表达式是一种强大的工具,可用于处理字符串,执行复杂的任务并自动化文本处理过程。通过了解基本语法、字符类、量词、分组和引用,您可以有效地使用正则表达式来解决广泛的文本处理问题。