正如你在前几课中看到的,所有的数量修饰符,包括星号 、加号 +、重复 {m,n} 以及问号 ?,都可以在捕获组(括号)中使用。这是将数量修饰符应用于整个字符序列而非单个字符的唯一方式。
举个例子,如果我知道一个电话号码可能包含区号,也可能不包含,那么正确的做法是用正则表达式 (\d{3})? 来检测整个数字组是否存在,而不是对每个数字字符单独加问号(那样是错误的)。
另外,根据你所使用的正则表达式引擎,你还可以使用非捕获组,它允许你匹配某个分组的内容,但不将其包含在最终的捕获结果中。
下面列出的是一些常见的显示分辨率格式,请尝试编写正则表达式,提取每个分辨率中的宽度和高度
| Task | Text | Capture Groups | |
| 捕获 | 1280x720 | 1280 720 | ![]() |
| 捕获 | 1920x1600 | 1920 1600 | ![]() |
| 捕获 | 1024x768 | 1024 768 | ![]() |
| 提示 | 这个比较简单,我们只需要按如下方式捕获两个数字组:(\d+)x(\d+)。 |