【发布时间】:2017-06-06 15:38:49
【问题描述】:
我正在开发一种从文本中提取多种形式的参考编号的工具,并且我正在努力想出一种聪明的方法来迭代不同的 RegEx 模式。我所追求的示例类似于(我在花括号中所追求的伪代码):
Dim regEx as New RegExp
Dim someinput as String
regEx.Pattern = "201[67]\W?\d{6}"
If regEx.Test(someinput) = True Then
foo
Elseif {with regEx.pattern="AB\W?\d{10}" regEx.Test(someinput)} Then
bar
...
这将是几个级别的深度,因为我们有大约十几种可能的格式要检查。目前我能想到的就是为每个定义一个新的正则表达式项,为每个设置模式,然后一个一个地运行 If->ElseIfs,但必须有更好的方法......我希望!
非常感谢
编辑只是为了抢占先机, foo 和 bar 会根据输入而有所不同,所以我不能只制作(例如)一组可能的模式并检查每个模式然后返回一个最终的“真/假”
【问题讨论】: