无法在字符串中搜索简单模式

Unable to search simple pattern in string

尽管在 str1:

中找到包含“-pg:2Fetchotp for login:”模式的字符串,但仍无法猜测返回的原因 None
import re
str1='1592029830201;12:00:30-bid:6--pg:2Fetchotp for login: 70300002358'
ret = re.match('-pg:2Fetchotp for login:\s+(\d{10})',str1)
print(ret)

re.match 匹配字符串的开头并且不在整个字符串中搜索模式。另外,您的正则表达式中有错字。尝试以下操作:

import re
str1='1592029830201;12:00:30-bid:6--pg:2Fetchotp for login: 70300002358'
ret = re.match('.*-pg:2Fetchotp for login:\s+(\d{10})',str1)
print(ret)

添加.*后,正则表达式可以匹配从头开始的字符串。因此在这种情况下匹配是完整的字符串。否则你也可以使用 re.search 搜索第一个匹配的字符串:

import re
str1='1592029830201;12:00:30-bid:6--pg:2Fetchotp for login: 70300002358'
ret = re.search('-pg:2Fetchotp for login:\s+(\d{10})',str1)
print(ret)