我如何在python中使用正则表达式查找以下模式?对于这两个案件
我在"="符号后面寻找str2
情况1: str1=str2
案例2: str1 = str2
请注意,在"="符号的两边之间可以有空格或没有空格
我的是这样的,但只适用于其中一个案例!
m=re.search('(?<=str\s\=\s)\w+','str = str2')
返回str2
救命!
迦特
如果你确实只有这么简单的字符串来解析你就不需要正则表达式了.你可以分割=
和剥离(或甚至lstrip)结果元组的最后一个元素:
>>> case = 'str = str2' >>> case.partition('=')[2].lstrip() 'str2'
它会比正则表达式快得多.只是为了表明我做了一个简单的测试有多快:
>>> timeit.timeit("'str1 = str2 '.partition('=')[2].strip()") 0.49051564213846177 >>> timeit.timeit("'str1 = str2 '.split('=')[1].strip()") 0.97673281637025866 >>> timeit.timeit('import re') 0.65663786250422618