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

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

当我按照上面的方式运行编码时,结果将是“不匹配”,而不是“产品/”。

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

感谢您的帮助。

最佳答案

您的代码存在一些问题。
首先,开头没有 /,其次,您在调用之后提供修饰符:

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 .

关于python - 正则表达式的pattern.match不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865885/

相关文章:

Python - 时间加权平均 Pandas ,按时间间隔分组

Python-Argparse : Calling the help argument returns an error

python - 如何在 argparse 中将可选位置参数与 nargs ='*' 参数一起使用?

javascript - 如何通过 javascript 将所有 href 链接附加到重定向器 url

python - 获取列表长度的特定百分比的索引

python - 当文件太大时,Flask 会重置连接而不是返回 413

用于验证 url、 boolean 值、字符串的 Java 正则表达式

php - 从数据中提取 JSON 数组

php - 填充字符串中的空格

python - 正则表达式在中文文本上使用时不起作用