Skip to content

正则表达式

1. 字面值字符:

例如字母、数字、空格等,可以直接匹配它们自身。

2. 特殊字符:

例如点号 .、星号 *、加号 +、问号 ? 等,它们具有特殊的含义和功能。 *:匹配前面的模式零次或多次。 +:匹配前面的模式一次或多次。 ?:匹配前面的模式零次或一次。 \:转义字符,用于匹配特殊字符本身。 .:匹配任意字符(除了换行符)。 |:用于指定多个模式的选择。

贪婪匹配

*会匹配尽可能多的字符(贪婪匹配) *? 匹配尽可能少的字符(非贪婪匹配)

eg:

py
s = 'hello 1234567 world'
re.match('he.*?(\d+).*rld',s)

3. 字符类:

用方括号[]包围的字符集合,用于匹配方括号内的任意一个字符。

4. 元字符:

例如 \d\w\s 等,用于匹配特定类型的字符,如数字、字母、空白字符等。

5. 量词:

例如 {n}{n,}{n,m} 等,用于指定匹配的次数或范围。

6. 边界符号:

例如 ^$\b\B 等,用于匹配字符串的开头、结尾或单词边界位置。 ^:匹配字符串的开头。 $:匹配字符串的结尾。 \b:匹配单词边界。 \B:匹配非单词边界。

实际例子:commit 规范

js
const commitRE =
  /^((revert|wip|draft): )?(feat|fix|docs|style|refactor|perf|types|test|build|ci|chore)(\(.+\))?: .{1,50}/

如有转载或 CV 的请标注本站原文地址