我有一个名称列表,我使用正则表达式来过滤该列表。 比方说,我的名单看起来是这样的:从字符范围生成正则表达式
- 爱丽丝
- 安娜
- 鲍勃
- 简
- 约翰
- 弗兰克
- 彼得
现在我只希望在th的名字e范围A-D
,所以我用正则表达式^[A-D].*
得到Alice,Anna,Bob。
这很容易,但是当我选择了一个更具体的范围,像A-Jen
正则表达式变得更加复杂 - >^([A-I].*|J([a-d]|[a-e][a-n]).*)
现在我得到爱丽丝,安娜,鲍勃,简。
它变得更加困难,例如,
Abc-Def
- >^((A([b-z][c-z].*|[c-z].*))|[B-C].*|D([a-d]|[a-e][a-f]).*)
所以基本上我正在寻找一种方式根据字符范围产生这些正则表达式。我试图制作一个VBA脚本来完成这项工作,但不幸的是我无法做到这一点。这就是为什么我要求你们帮助:)
有没有人有一个想法,我可以如何产生这些表达式? 任何帮助,不胜感激。
PS:英语不是我的母语,但我希望你明白我的问题:)
你用VBA脚本试过了什么?为什么它不工作?乍看之下,您似乎有了如何将需求转化为正则表达式的想法,那么将其转化为代码的问题是什么? – Degustaf 2014-09-11 13:08:03
为什么要使用正则表达式?为什么不分类清单? – Biffen 2014-09-11 13:11:48
我忘了提及这个列表是应用程序的一部分,它使用正则表达式来过滤名称,所以我不能改变它。这就是为什么我实际需要生成正则表达式。没有其他办法。 我没有发布我的VBA方法,因为我没有设法做任何事情。我知道如何手动编写正则表达式,我只是不知道如何创建一个脚本或任何我需要的东西。 – Tagas 2014-09-11 13:43:19