正则表达式(二)-高级应用_谨慎使用
没事建议别瞎用正则表达式,能让后端处理好的数据,尽量后端处理好,减少前端对数据的处理,保证数据原始的完整性,减少前端耗能。(其实就是懒╮(╯▽╰)╭)
1. 分组捕获
分组捕获用于提取匹配的子字符串,使用 ()
定义分组。
-
示例:提取日期中的年、月、日
(\d{4})-(\d{2})-(\d{2})
输入:
2023-10-01
匹配结果:- 分组 1:
2023
- 分组 2:
10
- 分组 3:
01
- 分组 1:
-
命名分组(部分语言支持,如 Python):
(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})
匹配结果:
year
:2023
month
:10
day
:01
2. 非贪婪匹配
默认情况下,正则表达式是贪婪的,会尽可能匹配更长的字符串。使用 ?
可以实现非贪婪匹配。
- 示例:匹配 HTML 标签中的内容
- 贪婪匹配:
输入:<.*>
<div>Hello</div><p>World</p>
匹配结果:
- 贪婪匹配: