我需要根据一些特定的要求解析(拆分)数据库中的一些句子。这些句子可以有不同类型的格式,我80%的句子都有以下格式之一:
- COMPANY_NAME,CITY_NAME_1(街道地址,邮编CITY_NAME_2)。ANY_STRING
- COMPANY_NAME、CITY_NAME_1、STREET_ADDRESS、ZIP_CODE CITY_NAME_2。ANY_STRING
- COMPANY_NAME,CITY_NAME_1,STREET_ADDRESS,ZIP_CODE CITY_NAME_2,(ANY_STRING:ANY_STRING.).ANY_STRING
- COMPANY_NAME(ANY_STRING)、CITY_NAME_1、STREET_ADDRESS、ZIP_CODE CITY_NAME_2。ANY_STRING
在这里,我指定了规则:
- COMPANY_NAME可以有空格、hyphons(-)和句点
- COMPANY_NAME不能有逗号、分隔符
- CITY_NAME_1和CITY_NAME_2可以有空格、斜线、分隔符
- CITY_NAME_1和CITY_NAME_2不能有逗号
- CITY_NAME_1和CITY_NAME_2在95%的情况下是相同的5%的病例不同
- STREET_ADDRESS可以有任何内容(逗号、分隔符、任何特殊字符等)
- ZIP_CODE对我来说是已知的(4、5或6位数字字符串)
我已经有了每个句子的邮政编码。我想创建一个正则表达式或函数,它将句子和邮政编码作为输入,并返回街道名称作为输出。
当然,我可以为上述每种方法创建不同的函数。但是,我怎么知道给定的句子适合哪种格式呢?用正则表达式可以知道这一点吗?
首先需要定义它是什么类型的字符串(如何分隔)。通过CCD_ 1。首先,对于这种情况,regexp
似乎有点复杂。我们没有数据。
http://myregexp.com/-将帮助您编写regexp
s.