我已经使用VBA创建了一个脚本来遍历Word文档,以查找可能是首字母缩写词的所有单词,但是我发现我的regEx模式找不到所有单词。
我正在使用的regEx模式是“([[AZ] {2,})(-([AZ] {2,}) [A-Za-z0-9] )“
有了这种模式,我就能找到
AA
AAA
AA-BB
AA-BBB
AAA-BB
AAA-BBB
AAA-1234
AAA-BBB-1234
但找不到这些单词
B2B
B2B-1234
B2B-A1A-1234
单词匹配的期望应该是第一个字符是字母,并且必须包含至少两个大写字母和至少一个数字。另外,如果单词中有破折号,则破折号之前的字符必须与单词match的期望匹配。
是否可以使用上面的regEx模式也包括字母数字字母的首字母缩写词?
答案 0 :(得分:0)
Milco,欢迎来到StackOverflow。我认为以下正则表达式将为您工作:
([A-Z][A-Z0-9]+)(-[A-Z0-9]{2,})*
此正则表达式可容纳数字和可选数量的带连字符的术语,并匹配上述每个案例。我在regextesteronline.com进行了测试-我假设VB.net正则表达式与VBA相同,至少对于基本正则表达式,它们应该是相同的。