正则表达式提取两个字符串之间的字符,包括定界符

时间:2019-02-08 03:21:16

标签: php regex pcre

我正在尝试提取两个字符之间的文本,包括定界符,但仅返回不包含定界符的文本:

.+(?<=\()(.*?)(?=\))

请参见the current regex demo

示例:
Some text (1990) (//Divulgação)

应返回:
(//Divulgação)(不是//Divulgação

1 个答案:

答案 0 :(得分:1)

您可以使用

提取()之间的那些子字符串。
preg_match('~.*\K\([^()]*\)~s', $s, $matches)

请参见regex demo

详细信息

  • .*-任意0个以上的字符,并且尽可能多
  • \K-匹配重置运算符,用于将匹配的文本从匹配缓冲区中舍弃掉
  • \(-一个(字符
  • [^()]*-除()以外的0多个字符
  • \)-一个)字符。