正则表达式基础知识的扩展,其实也就是对之前学习的一个复习,将一些概念性的总结。所以这一章其实可以说成正则表达式术语的总结。
正则(regex)
"正则表达式"其实就是我们口语总的正则,只是为了方便。"正则引擎"是指程序中实际执行匹配的那个部分。
匹配(matching)
一个正则表达式"匹配"一个字符串,其实是这个正则表达式能在字符串中找到匹配文本。严格来说,正则表达式 /h/
不能匹配"helay",但是能匹配"helay"中的"h"。
元字符(metacharacter)
一个字符是否是元字符,应该取决于具体情况。例如,只有在字符组外部并且是在未转义的情况下,*
才是一个元字符。"转义"的意思就是,通常情况下在这个字符串之前还有一个反斜线 \
。\*
是对"*
"的转义。
流派(flavor)
简单来说,正则表达式不是一家之言,我们用不同的工具使用不同的正则表达式完成了不同的任务,每样工具支持的元字符和其他性格各有区别。
子表达式(subexpression)
"子表达式"指的是整个正则表达式中的一部分,通常是括号内的表达式,或者是由 |
分隔的多选分支。
字符(character)
"字符"在计算机领域是一个特殊意义的单词,一个字节所代表的单词取决于计算机如何解释。单个字节的值不会变化,但这个值所代表的字符确实由解释所用的编码来决定的。例如,值为 64 和 53 的字节,在 ASCII 码中分别代表了字符"@"和"5",但在 EBCDIC 编码中,则是完全不同的字符。