python - 向后移动时如何在正则表达式模式中的空白处停止
问题描述
我有一系列看起来像这样的字符串:
mystring1='150 33 316LOC 300-750 22" Tet',
mystring2='134 ACV NOC 300-750 2-1/2" Tet'
我需要编写一个模式,它会在'"' 符号之前获取任何东西。在我的最终输出中,'"' 也应该出现。我编写了一个适用于 mystring2 和 mystring3 的代码,但它对 mystring1 和 mystring4 失败了。
我附上了我尝试过的代码:
mystring1='150 33 316LOC 300-750 22" Tet'
attach='"'
pattern_match = re.search('(?:\s+|$)\w*?.?\w*?.?\w*?\s?' \
+''.join(attach.replace(' ','').split()[0]), mystring1)
print(pattern_match.group())
使用上述代码,我得到 '300-750 22"' 作为输出。
如果我将 mystring1 替换为 '150 33 316L 300-750 INC" tet',我将得到 '300-750 INC"' 作为输出;
'150 33 316LOC 300-750 22" tet' 我的输出应该是 22" 和 '134 ACV NOC 300-750 3-1/2" tet' 的输出应该是 3-1/2" 等等。
解决方案
评论中有解决方案re
。对于这种简单的情况,无需re
:
lst = ['150 33 316LOC 300-750 22" Tet',
'134 ACV NOC 300-750 3-1/2" tet',
'150 33 316L 300-750 INC']
for s in lst:
print([i for i in s.split() if i.endswith('"')])
印刷:
['22"']
['3-1/2"']
[]
与re
:
for s in lst:
print(re.findall(r'[^\s"]+"', s))
推荐阅读
- c++ - 为什么尽管具有相同的算法和数据结构,其他解决方案的效率是 10 倍?
- django - 了解 Django 排除有关 ForeignKey 关系的查询集
- python - Simple-Salesforce API 版本
- javascript - 用javascript计算日期时间(以天为单位)
- c# - 使用指针在函数中传递公共变量的地址
- sql - 如何在包含百分比的列中获得百分比计算的确切值
- reactjs - 如何从 objectArray 访问对象的字段
- spring - PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:导入从 start.spring.io 生成的项目时
- javascript - 特定 div 的突变观察者
- r - 如何将向量拆分为特定列表?