我有一个像
这样的字符串session.save_path="D:/path to webroot directory/Temp/php/session"
以下正则表达式:some stuff TOTAL_SCORE<518>some stuff <after>
将返回
/TOTAL_SCORE<\d{3}>/
如何才能让它只返回TOTAL_SCORE<518>
?
我可能应该指出字符串有点复杂,并且包含多个类似的字段,如
518
答案 0 :(得分:1)
您可以使用
select regexp_substr('some stuff TOTAL_SCORE<518>some stuff OTHER_VALUE<456> foo <after>', 'TOTAL_SCORE<(\d{3})>', 1, 1, NULL, 1) from dual
(...)
捕获组会将匹配的一部分放入ID = 1的内存缓冲区中,您可以使用最后一个regex_substr
参数访问它(此处为1
})。因此,虽然TOTAL_SCORE<(\d{3})>
与TOTAL_SCORE<518>
匹配,但518
可以单独访问。
详细了解capturing groups。