regex - 街道地址中单词的正则表达式
问题描述
我知道依靠正则表达式获取街道地址的危险。但是,我必须使用正则表达式,而且我的地址都是澳大利亚的,并且来自一个受监管的来源,格式正确。
我成功地使用组从以下返回街道号码和街道名称
1 Main Street, Sydney NSW 2000
1A Main Street, Sydney NSW 2000
1/20 Main Street, Sydney NSW 2000
1/20A Main Street, Sydney NSW 2000
U1/20A Main Street, Sydney NSW 2000
我的(PHP)表达式是~([\w\d\-\/\.\&]*)\s*([\w\d '\-\.\ ()]+)~
但我无法适应它来使用:
Unit 1/20 Main Street, Sydney NSW 2000
我的小组给我“单位”和“1”
解决方案
我相信有问题的正则表达式仅用于匹配您地址的门牌号和街道名称部分。您的正则表达式看起来很复杂,但是要使用前缀 Unit 解决问题:
^((?:Unit )?[\w\-\/\.\&]*)\s*([\w '\-\.\ ()]+)
推荐阅读
- javascript - 在 nodejs 中使用 npm start 的问题。'nodemon' 不是内部或外部命令、可运行程序或批处理文件
- r - 将单元格除以同一列的长度
- javascript - 单击框时在反应搜索框中显示选项
- angular - 使用firebase以角度分离登录表单学生,教师和管理员
- css - 导航栏折叠按钮不显示 bootstrap 4.5.0 和 Nextjs 9.4.4 的项目
- angular - 未应用 Angular *ngFor 键值排序
- php - php artisan migrate = 连接被拒绝 (mac/laravel/xampp)
- google-cloud-platform - BigQuery DWH 的重要概念
- apollo - 如何在 GraphQL 中跨其余数据源维护请求上下文
- html - 如何在 Ionic 4 中的 ion-item 上叠加文本