正则表达式
我们可以使用上一章学过的符号来表示大多数的规则,但是在表示数字和程序规则时可能会遇到一些问题。这些规则需要用到一些我们没有讲解过的符号。我们还不知道如何表达开始和结束输入、可选字符、字符范围等。
这些规则由正则表达式(Regular Expression)定义。正则表达式适合定义一些小型的语法规则,例如单词或是数字等。正则表达式不支持复杂的规则,但它清晰且精确地界定了输入是否符合规则。下面是正则表达式的基本规则:
语法表示 | 作用 |
---|---|
. |
要求任意字符 |
a |
要求字符 a |
[abcdef] |
要求 abcdef 中的任意一个 |
[a-f] |
要求按照字母顺序,a 到 f 中的任意一个 |
a? |
要求 a 字符或什么都没有,即 a 为可选的 |
a* |
要求有 0 个或多个字符 a |
a+ |
要求有 1 个或多个字符 a |
^ |
开始输入 |
$ |
结束输入 |
上面是我们目前需要的一些基本规则。如果你对正则表达式感兴趣,这里是关于它的一个完整的教程。
在 mpc
中,我们需要将正则表达式包裹在一对 /
中。例如,Number 可以用 /-?[0-9]+/
来表示。
当前内容版权归 NoahDragon 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 NoahDragon 译 .