帮助这个正则表达式。用PHP

时间:2010-05-29 18:52:03

标签: php regex

我不知道正则表达式,我在这里问了一个: 获取第一个括号/冒号或第一个括号内的第一个单词的任何内容。这就是答案:

preg_match('/(?:^[^(:]+|(?<=^\\()[^\\s)]+)/', $var, $match);

我需要改进,我需要获得第一个括号/冒号/ 引号或第一个括号内的第一个单词。

所以,如果我有类似的东西:

$var = 'story "The Town in Hell"s Backyard';     // I get this: $match = 'story';
$var = "screenplay (based on)";             // I get this: $match = 'screenplay';
$var = "(play)";                                  // I get this: $match = 'play';
$var = "original screen";              // I get this: $match = 'original screen';

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个简单的改变:

preg_match('/(?:^[^(:"]+|(?<=^\()[^\s)]+)/', $var, $match);

我刚在[^...]框内添加引号,以及冒号和开放的parens。