我正在尝试提取两个字符之间的文本,包括定界符,但仅返回不包含定界符的文本:
.+(?<=\()(.*?)(?=\))
示例:
Some text (1990) (//Divulgação)
应返回:
(//Divulgação)
(不是//Divulgação
)
答案 0 :(得分:1)
您可以使用
提取(
和)
之间的那些子字符串。
preg_match('~.*\K\([^()]*\)~s', $s, $matches)
请参见regex demo。
详细信息
.*
-任意0个以上的字符,并且尽可能多\K
-匹配重置运算符,用于将匹配的文本从匹配缓冲区中舍弃掉\(
-一个(
字符[^()]*
-除(
和)
以外的0多个字符\)
-一个)
字符。