正则表达式匹配对Shadowbox.init()的有效调用

时间:2010-07-15 20:46:56

标签: php regex

我想知道一个字符串是否在另一个字符串中至少一次。

我想检查是否Shadowbox.init然后任何(optionnal)whitespace的组合,然后(至少在$ myString内一次。

  • 必须找到Shadowbox.init(区分大小写)
  • 可以跟随任意数量的空格(空格,制表符,换行符......)
  • 空格或init后跟一个左括号(

到目前为止,我有:

$matches = preg_match('/Shadowbox.init[\s]*(/', $myString);

一些例子:

/*
Shadowbox.init(); --> OK
Shadowbox.init ( ); --> OK
Shadowbox.init       (foo); --> OK
Shadowbox.init ); --> Bad missing (
Shadowbox.init --> Bad missing (
Shadowbox. init(); --> Bad space after dot
*/

2 个答案:

答案 0 :(得分:3)

你快到了那里:

$matches = preg_match('/Shadowbox\.init\s*\(/', $myString);

您需要转义括号和点。而且您不需要在\s附近放置括号。

答案 1 :(得分:0)

您不需要正则表达式:http://php.net/manual/en/function.strpos.php