python - 单引号中的 Python 正则表达式版本
问题描述
鉴于下面的输入,我想要一个 Python 兼容的正则表达式,它的输出是第二个版本值......“8.20.233”。我已经尽力从许多搜索中拼凑出一个解决方案,但我似乎无法找到正确的组合。感谢您的关注。
cask 'logitech-options' do
if MacOS.version <= :sierra
version '7.14.77'
sha256 'e4df55642e04139fc93d955e949bf736196a404ed067d87f8de7eb9ac9117ece'
else
version '8.20.233'
sha256 '52427d5fa9f0e0508c3414906212774b7ae142450d6dcf90fe1a4d6b51449c67'
end
解决方案
您必须决定正则表达式的严格程度。几个例子:
rgx1 = re.compile(r"version +'(.+)'") # Pretty loose.
rgx2 = re.compile(r"version +'(\d+\.\d+\.\d+)'") # More strict.
而且您还没有给我们足够的信息来明智地区分输入文本中的两个版本号。执行此操作的适当方法取决于您的用例的具体情况。
rgx2.findall(TEXT) # ['7.14.77', '8.20.233']
推荐阅读
- openssl - Windows 10 上的 SHA1 证书密钥
- dart - MainApp 根据值发送到页面
- java - 跨步在 Eclipse Photon 中无法按预期工作
- java - 无法使用来自 Maven 部署依赖项的类
- python - 使用 Python/Selenium 从 Angular 网站中选择复选框
- javascript - 将鼠标悬停在隐藏的工具提示上后 D3.js 工具提示重新出现?
- google-apps-script - 如何处理多个 onEdit() 函数?
- r - 在组类别末尾的新列中添加具有组总和的行
- java - 如何否定多个谓词
- arrays - 如何获取数组的基本范围?