我需要解析(拆分)我的数据库中的一些句子,并提出一些具体要求。
这些句子可以有不同类型的格式,我的句子中有80%具有以下格式之一:
- 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
- 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可以包含任何内容(逗号,简介,任何特殊内容)
charcter等。)
- ZIP_CODE已为我所知(4或5或6位数字字符串)。
我已经把每个句子的邮政编码都跟我一起了。我想创建正则表达式或函数,它将句子和邮政编码作为输入并返回街道名称作为输出。
对于cource,我可以不同地为每个上述方法创建函数。但是,我怎么知道给定的句子适合哪种格式?是否可以通过正则表达式来了解这一点?