VBA 正则表达式 | ||||
字 符
| 描 述 |
字 符
| 描 述 | |
/ | 表示下一个字符是特殊字符或文字常量 | /f | 匹配换页符 | |
^ | 匹配输入的开头 | /n | 匹配换行符 | |
$ | 匹配输入的结尾 | /r | 匹配回车符 | |
* | 匹配前一个字符零次或多次 | /s | 匹配空白,包括空格、制表符、换页符等。等价于"[/f /n /r /t /v ]" | |
+ | 匹配前一个字符一次或多次 | /S | 匹配非空白的字符。等价于"[^/f /n /r /t /v ]" | |
? | 匹配前一个字符零次或一次 | /t | 匹配制表符 | |
. | 匹配除换行符以外的任何单个字符 | /v | 匹配纵向制表符 | |
(pattern) | 匹配并记住这个模式。可以用[0]…[n]从结果的matches集合中获取匹配到的字符串。要匹配括号本身,在前面加上斜杠—— 用"/("或"/)" | /w | 匹配字母、数字,以及下划线。等价于"[A-Za-z0-9_]" | |
(?:pattern) | 匹配但不捕获模式,也就是不会存储匹配结果供以后使用。这可以用于使用"or"字符(|)合并模式的不同部分。例如,"anomal(?:y|ies)"比"anomaly|anomalies"要划算得多 | /W | 匹配非字符数字。等价于"[^A-Za-z0-9/_]" | |
(?=pattern) | 当所要搜索的字符串匹配了模式的开头部分时就接着匹配这一部分。这是一个非捕获匹配,也就是说不会保存匹配结果供以后使用。例如,"Windows (?=95|98|NT|2000|XP|Vista)"能匹配"Windows Vista"中的Windows而不能匹配"Windows 3.1"中的Windows | /. | 匹配. | |
(?!pattern) | 与上一个相反,这会匹配模式中没有出现的内容。这是一个非捕获匹配,也就是说不会保存匹配结果供以后使用。例如,"Windows (?=95|98|NT|2000|XP|Vista)"能匹配"Windows 3.1"中的Windows而不能匹配"Windows Vista"中的Windows | /| | 匹配| | |
x|y | 匹配x或y | /{ | 匹配{ | |
{n} | 准确地匹配n次(n必须是一个非负整数) | /} | 匹配} | |
{n,} | 至少匹配n次(n必须是一个非负整数—— 注意结尾的逗号) | // | 匹配/ | |
{n,m} | 至少匹配n次,最多匹配m次(m和n必须都是非负整数) | /[ | 匹配[ | |
[xyz] | 匹配其中包括的任一个字符(xyz表示一个字符集) | /] | 匹配] | |
[^xyz] | 匹配其中不包括的字符(^xyz表示一个字符集的补集) | /( | 匹配( | |
[a-z] | 匹配指定范围内的字符(a-z表示字符的范围) | /) | 匹配) | |
[m-z] | 匹配指定范围以外的字符(^m-z表示指定范围的补集) | $ num | 匹配num,其中num是正整数。返回匹配结果的引用 | |
/b | 匹配一个单词边界,这个位置在单词和空格之间 | /n | 匹配n,其中n是八进制转义符。八进制转义符的长度应为1、2或3 | |
/B | 匹配一个非单词边界 | /uxxxx | 匹配UNICODE形式的ASCII字符 | |
/d | 匹配数字。等价于[0-9] | /xn | 匹配n,其中n是十六进制转义符。十六进制转义符必须是两位长度 | |
/D | 匹配非数字。等价于[^0-9] |
VBA正则表达式
最新推荐文章于 2025-01-20 13:50:39 发布