regex - 用于验证邮政编码格式的 dart 正则表达式
问题描述
我正在尝试创建正则表达式来验证所有邮政编码格式。我找到了答案什么是最终的邮政编码和 zip 正则表达式?但它在飞镖中不起作用。以下是答案中的标准,这正是我正在寻找的
每个邮政编码系统仅使用 AZ 和/或 0-9,有时使用空格/破折号
并非每个国家/地区都使用邮政编码(例如都柏林以外的爱尔兰),但我们将在这里忽略它。
最短的邮政编码格式是带有 NN 的塞拉利昂
最长的是美属萨摩亚,有 NNNNN-NNNNNN
您应该允许一个空格或破折号。
不应以空格或破折号开头或结尾
这是我需要转换为飞镖的正则表达式(?i)^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$
解决方案
bool isZipValid = RegExp(r"^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$", caseSensitive: false).hasMatch(zip);
(?i)
(不区分大小写模式)是罪魁祸首FormatException: Illegal RegExp pattern
推荐阅读
- c# - 无法在 C# 中执行变量插值以查找对象字段
- angularjs - Angular UpgradeModule 无法降级 @Directive
- python-3.x - 从字符串中提取单词后跟一个特殊字符,pandas
- azure-devops - Azure DevOps 构建管道触发器太渴望?
- sql - 如何在 Reporting Services 中一次显示整个数据集?
- python - 如何从函数中查询数据
- matlab - 不确定如何在 Matlab 中使用事件函数
- file - Is there a possibility to get a notification when a file on FTP server has been modified?
- vba - 如何在vba中获取工作组名称?
- c# - 为什么 Azure DevOps / TFS 中忽略了我的 repositoryPath?