regex - 使用 RegEx 从给定字符串中提取策略 ID
问题描述
我必须提取下面给出的字符串
PO-EXW1900000955/00/00
我写了以下正则表达式
/(?<=Policy) \w+-\w+\/\w+\/\w+/
上面的工作正常,但我觉得我重复这个 \w+ 每个单词。有没有其他更好的方法来避免这种重复的\w+?
解决方案
好吧,您的表达式工作得很好,如果您愿意,也许您可以将其修改为某些表达式,例如:
re = /(?<=Policy\s)[A-Z]+-[A-Z0-9]+\/[0-9]+\/\d+/
str = 'Policy PO-EXW1900000955/00/00'
str.match(re) do |match|
puts match.to_s
end
该表达式在regex101.com的右上角面板上进行了说明,如果您希望探索/简化/修改它,并且在此链接中,您可以查看它如何与一些示例输入匹配,如果您愿意的话。
推荐阅读
- loops - 如何在 Ansible 中使用 with_sequence
- c# - LINQ:查询语法 - 我如何识别收入高于其他人的每个人?
- node.js - 使用 Clinic.js 问题分析 nodejs 应用程序
- amazon-web-services - s3 密钥命名的最佳实践
- javascript - 在 Gatsby 中创建没有 createPages API 的变量?
- python - How to fix connection error when trying to create an SSH tunnel in Python whilst running Nord VPN for Windows
- amazon-web-services - How index the same field in multiple ways with wildcard in ElasticSearch
- django - Call a function after creating or updating django model instances
- windows-media-player - JavaFx-MediaView 不显示视频
- arm - 使用 Keil uvision5 对 ti cc1310 进行编程