regex - 正则表达式匹配州法规格式
问题描述
我正在尝试从法院意见中解析州法规。
在这种情况下,我试图与西弗吉尼亚州相匹配,引用通常采用以下格式之一:
W. Va. Code Ann. § 24A-2-5(a)
W.Va. Code § 15A-5-3
W.Va.Code § 22B-3-1
W. Va. Code § 15A-5-3
West Virginia Code Ann § 53-4A-7(a)
我已经得到这个正则表达式字符串部分功能:
(W\.V\.|W\.Va\.|West\sVa\.|West\.Va\.|W\. Va\.|West\sVirginia|West\.Virginia)(/s?|.?)(Code\sAnn\.|Code|Code\sAnn?)(.\s?|\s?)(ȼs|§|§|section|§|sect?)(\s+[0-9]+[a-zA-Z]+-[0-9a-zA-Z]+-[0-9])(\([a-z]\))?
问题在于它与上面的最后一种格式不匹配:(西弗吉尼亚州法典 Ann § 53-4A-7(a))
我也知道这可能不是最有效的方法。那么,Regex Masters 会给我一些关于我所缺少的东西的指示,以及改进它的建议。
先感谢您,
解决方案
试试这个模式
W(?:\. ?Va\.|est Virginia) ?Code(?: Ann\.?)? (?:§|ȼs|§|section|§|sect\?) \d+[A-Z]?-\d+[A-Z]?-\d+(?:\([a-z]\))?
在哪里:
W(?:\. ?Va\.|est Virginia) ?
- 匹配西弗吉尼亚州的不同格式Code(?: Ann\.?)?
- 将“代码”与可选的“安”匹配(?:§|ȼs|§|section|§|sect\?)
- 匹配不同格式的section关键字\d+[A-Z]?-\d+[A-Z]?-\d+
- 匹配部分例如1a-2b-3
(?:\([a-z]\))?
- 匹配括号中的可选字母
推荐阅读
- javascript - 未终止的字符串常量:无法修复
- c# - 在 Core 2.2 中返回异步结果时无法使用 Ok(...) 作为状态码
- spring-boot - Spring Boot - Rest Controller 使用两个 JSON 对象响应
- amazon-web-services - AWS Pinpoint - 未注册的应用程序。Pinpoint 未在 PNS 中注册
- javascript - 相当于javascript中扩展的函数构造函数
- javascript - 创建新食谱并将其添加到表“食谱”时出现 401 错误
- json - JSON格式列表视图 - 行边框?我自己的风格?
- c# - 对包含数字的字符串进行排序的好方法,即 test 1、test10、test2
- java - 调用 user.getPhotoUrl() Firebase 时出现安全异常
- android - GCM注册令牌频繁重新生成