Python pattern.match与正则表达式不工作
当我按照上述方式运行编码时,我将得到结果的“不匹配”,而不是“product/” 有人能帮我吗?我已经使用在线工具测试了正则表达式,它显示的很好,并且匹配我要测试的字符串Python pattern.match与正则表达式不工作,python,regex,Python,Regex,当我按照上述方式运行编码时,我将得到结果的“不匹配”,而不是“product/” 有人能帮我吗?我已经使用在线工具测试了正则表达式,它显示的很好,并且匹配我要测试的字符串 谢谢您的帮助。您的代码有几个问题。 首先,在开始时没有/,其次,在调用之后提供修饰符: import re def test(stest): pattern = re.compile(r'/product\/(.*?)/i') result = pattern.match(stest) if res
谢谢您的帮助。您的代码有几个问题。
首先,在开始时没有
/
,其次,在调用之后提供修饰符:
import re
def test(stest):
pattern = re.compile(r'/product\/(.*?)/i')
result = pattern.match(stest)
if result:
print result.group()
else:
print "Doesn't match"
test('product/WKSGGPC104/GGPC-The-Paladin')
请参阅。您使用的是字符串文字,但仍然转义字符串中的\。如果字符串始终以前缀“product”开头,则只需在正则表达式中省略开头/即可,如果它在字符串中的某个位置但不总是开头,请使用re.search()因为它会扫描整个字符串寻找匹配的子字符串。谢谢你,伙计。这对我真的很有帮助。
import re
def test(stest):
pattern = re.compile(r'product/([^/]+)'. re.IGNORECASE)
result = pattern.match(stest)
if result:
print(result.group())
else:
print("Doesn't match")
test('product/WKSGGPC104/GGPC-The-Paladin')