我有以下字符串:
Citas de Esopo - Música - Belleza...
Citas de Lem, Stanislaw - Tortura, sueño...
我需要从第一个中提取“Esopo”,从第二个中提取“Lem,Stanislaw”。我有以下正则表达式,它适用于第二种情况:
/Citas de (.*) \-(.*)\.\.\./
但对于第一种情况,它返回“Esopo - Música”。如何编写正则表达式,使其与第一个“ - ”外观之前的文本匹配?
我使用preg_match然后使用匹配的第一个数组位置
if( preg_match($pattern, $title, $result) > 0 )
{
$title = $result[1];
}
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用:
\bCitas de\h+([^-]+)\h+
<强>代码:强>
if ( preg_match_all(/\bCitas de\h+([^-]+)\h+/, $input, $matches) )
print_r($matches[1]);