我如何在python中为以下模式编写正则表达式?

Gat*_*ath 0 python regex string

我如何在python中使用正则表达式查找以下模式?对于这两个案件

我在"="符号后面寻找str2

  • 情况1: str1=str2
  • 案例2: str1 = str2

请注意,在"="符号的两边之间可以有空格或没有空格

我的是这样的,但只适用于其中一个案例!

m=re.search('(?<=str\s\=\s)\w+','str = str2')
Run Code Online (Sandbox Code Playgroud)

返回str2

救命!

迦特

Sil*_*ost 8

如果你确实只有这么简单的字符串来解析你就不需要正则表达式了.你可以分割=和剥离(或甚至lstrip)结果元组的最后一个元素:

>>> case = 'str = str2'
>>> case.partition('=')[2].lstrip()
'str2'
Run Code Online (Sandbox Code Playgroud)

它会比正则表达式快得多.只是为了表明我做了一个简单的测试有多快:

>>> timeit.timeit("'str1 = str2 '.partition('=')[2].strip()")
0.49051564213846177
>>> timeit.timeit("'str1 = str2 '.split('=')[1].strip()")
0.97673281637025866
>>> timeit.timeit('import re')
0.65663786250422618
Run Code Online (Sandbox Code Playgroud)