与正则表达式不起作用的pattern.match

时间:2016-10-05 05:14:30

标签: python regex

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 /'。

有人可以帮帮我吗?我已经使用在线工具测试了正则表达式,它显示正常并匹配我要测试的字符串。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您的代码有几个问题 首先,开头没有/,第二,你在调用后提供修饰符

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')

请参阅a demo on regex101.com

答案 1 :(得分:0)

您正在使用字符串文字但仍在字符串中转义\。