从正则表达式中提取文本?

use*_*592 4 python regex

我试图在正则表达式中获得一些匹配文本的结果,但它似乎不起作用.有谁知道可能会出错?

import re
text = "I want to match anything in <angle brackets>"
match = re.search("\<(?P<brackets>[^\>]+)>", text)
if match:
    print (match.group('brackets'))
Run Code Online (Sandbox Code Playgroud)

这没有打印,即找不到匹配.

Tom*_*ues 6

这实际上是一个非常常见的错误 - re.match当您想要使用时,它看起来就像您正在使用的那样re.search.re.match只匹配给定文本的开头,而re.search检查整个事物.

import re
text = "I want to match anything in <angle brackets>"
match = re.search("\<(?P<brackets>[^\>]+)>", text)
if match:
    print (match.group('brackets'))
Run Code Online (Sandbox Code Playgroud)

输出:

'angle brackets'
Run Code Online (Sandbox Code Playgroud)