我试图提取两个字符,包括分隔符之间的文本,但只能返回无定界符文本:
.+(?<=\()(.*?)(?=\))
例:
Some text (1990) (//Divulgação)
应该返回:
(//Divulgação)
(未//Divulgação
)
您可以使用提取(
和)
之间的那些子
preg_match('~.*\K\([^()]*\)~s', $s, $matches)
细节
.*
- 任何0+字符,尽可能多\K
- 匹配复位操作,它放弃从比赛缓冲到目前为止所匹配的文本\(
- 0+字符比(
和[^()]*
其他