从电话前缀到正则表达式



我有一个电话前缀列表(大约50k),我想将它们传递给正则表达式以减少行数。

有什么工具可以自动完成吗?有没有人知道任何脚本,会为我做(php, javascript, python等),或者我怎么能做到这一点?

为了更好的理解。

我有这个…

tbody> <<tr>
前缀 国家
62印尼
6221印尼(雅加达)
6222印尼(其他城市)
62251印尼(其他城市)
6231印尼(其他城市)
62341印尼(其他城市)
62361印尼(其他城市)
62411印尼(其他城市)
6261印尼(其他城市)
62778印尼(其他城市)
628印尼手机
6281印尼手机
6282印尼手机
6283印尼手机
6285印尼手机
6286印尼手机
6287印尼手机
6288印尼手机
62877印度尼西亚MOBILE XL
62878印度尼西亚MOBILE XL
62879印度尼西亚MOBILE XL

不确定,最终目标是什么,但如果您正在从列表生成regexp,为什么要担心优化regexp的长度,而不仅仅是让regexp编译器进行优化。python示例:

prefixes = ["6222", "62251", "6231", "62341", "62361", "62411", "6261"]
regex_as_str = "^("+"|".join(prefixes)+")d+$" # Creates "^(6222|62251|6231|62341|62361|62411|6261)d+$"
regex = re.compile(regex_as_str)

最新更新