一、引言
本章总结了正则表达式领域的专业英语,帮助大家与国际接轨。
tip:本文档中使用的编辑工具为Visual Studio Code v1.103.2
二、正文
1.基本词汇
|
正则表达式 |
regular expression |
|
匹配 |
Match |
|
捕获 |
Capture |
|
字面字符 |
Literal character |
|
Perl兼容正则表达式 |
PCRE(Perl Compatible Regular Expressions) 一种regExp引擎 |
2.字符类(character classes)
|
中文 |
英语 |
示例 |
|
字符集 |
Character set |
[aeiou] |
|
否定字符集 |
Negated set |
[^aeiou] |
|
范围 |
Range |
[g-s] |
|
. 通配符 |
Dot、wildcard |
[^\\n\\r] |
|
单词字符 |
word |
\\w [A-Za-z0-9_] |
|
非单词字符 |
Not word |
\\W [^A-Za-z0-9_] |
|
数字 |
Digit |
\\d [0-9] |
|
非数字 |
Not digit |
\\D [^0-9] |
|
空白字符 |
Whitespace |
\\s [空格\\t\\n\\r\\f\\v] |
|
非单词字符 |
Not word |
\\W [^A-Za-z0-9_] |
|
数字 |
Digit |
\\d [0-9] |
|
非数字 |
Not digit |
\\D [^0-9] |
|
空白字符 |
Whitespace |
\\s [空格\\t\\n\\r\\f\\v] |
|
非空白字符 |
Not whitespace |
\\S |
|
Unicode类别 |
Unicode category |
\\p{L} |
|
非Unicode类别 |
Not Unicode category |
\\P{L} |
|
Unicode 文字系统/书写系统 |
Unicode script |
\\p{script=Han} |
|
非Unicode 文字系统/书写系统 |
Not Unicode script |
\\P{script=Han} |
3.定位符(Anchors)
|
中文 |
英语 |
示例 |
|
开始 |
Beginning |
^ 字符串开始,在多行模式下表示行开始 |
|
结束 |
End |
$ 字符串结束,在多行模式下表示行结束 |
|
单词边界 |
Word boundary |
\\b |
|
非单词边界 |
Not word boundary |
\\B |
4.转义字符(escaped characters)
|
中文 |
英语 |
示例 |
|
保留字符 |
Reserved characters |
\\(以下字符) +*?^$\\.[]{}()|/ |
|
八进制转义字符 |
Octal escaped character |
\\000 |
|
16进制转义字符 |
Hexadecimal escaped character |
\\xFF |
|
unicode转义字符 |
Unicode escaped character |
\\uFFFF |
|
控制转义字符 |
Escaped control character |
\\cA (SOH, ASCII 1) \\cZ (SUB, ASCII 26). |
|
水平制表符 |
TAB character |
\\t (ASCII 9) |
|
换行符 |
LINE FEED character |
\\r (ASCII 10) |
|
垂直制表符 |
VERTICAL TAB character |
\\v (ASCII 11) |
|
换页符 |
FORM FEED character |
\\f (ASCII 12) |
|
回车符 |
CARRIAGE RETURN character |
\\n (ASCII 13) |
|
空字符 |
NULL character |
\\n (ASCII 0) |
5.组和引用(Groups & References)
|
中文 |
英语 |
示例 |
|
捕获组 |
capture group |
() |
|
非捕获组 |
Non-capture group |
(?:) |
|
数值引用 |
Numeric reference |
\\1 |
|
命名捕获组 |
Named capture group |
(?) 极少使用 |
|
名称引用 |
Named reference |
\\k |
|
修饰符 |
Modifier |
(?flags1:pattern) (?flags1-flags2:pattern) 修饰符可以覆盖正则表达式标志, Flags1,flags2:可选i,m,s flags; flags1为使能,flags2为禁用 |
6.断言(Lookaround assertion)
|
中文 |
英语 |
示例 |
|
后向肯定断言 |
Positive lookahead assertion |
(?=) |
|
后向否定断言 |
Negative lookahead assertion |
(?!) |
|
前向肯定断言 |
Positive lookbehead assertion |
(?<=) |
|
前向否定断言 |
Positive lookbehead assertion |
(?<=) |
7.量词和可选项(Quantifiers & alternation)
|
中文 |
英语 |
示例 |
|
+ |
Plus |
|
|
* |
Start |
|
|
可选 |
Optional |
? |
|
数量 |
Quantifier |
{1,3} |
|
非贪婪(懒) |
Lazy |
? |
|
或 分离符 |
Alternation Disjunction |
| |
8.标志(flags)
|
中文 |
英语 |
示例 |
|
d |
Has Indices |
生成匹配子串的起始/结束索引信息 |
|
g |
Global search |
全局搜索,不满足于首次匹配 |
|
i |
Ignore Case |
不区分大小写搜索 |
|
m |
Multiline |
多行模式 |
|
s |
Dot All |
点通配模式 |
|
u |
Unicode |
Unicode 模式 |
|
v |
Unicode Sets |
Unicode 集合升级模式 |
|
y |
Sticky |
粘性匹配 |
三、结语
编写代码时,需要使用专业词汇,既能消除二义性,又显得非常专业。通过本章的学习,在之后阅读正则表达式相关的英文文献或使用正则表达式库时,大家肯定会从从容容、游刃有余。
题外话:如果对正则表达式理解比较吃力请参考以下文档
参考文档:
正则表达式的妙用(一) 初识正则——基础用法
正则表达式的妙用(二) 初识正则——高级用法
正则表达式的妙用(三) 初识正则——补充知识
如需查看更多内容,请关注公众号:飞翔的SA





