2010-08-26 99 views
0

我需要一个正则表达式,它在给定的一段代码中匹配特定PHP函数名称的所有实例。匹配函数名称

正则表达式应该与foo

my_foo("qwe"); 
foo_bar(); 
"some foo string" 
+6

使用[tokenizer](http://php.net/manual/en/book.tokenizer.php)! – kennytm 2010-08-26 17:25:21

+1

@Bobby Jack:对我来说看起来像PHP。函数foo($ param)'很有指示性,它是PHP,尽管'function foo($ param);'不是一个有效的PHP语句。 – BoltClock 2010-08-26 17:27:28

+0

@Bobby Jack:我正在为php代码构建一个简单的重构工具。 – 2010-08-26 17:28:00

回答

1

尝试\bfoo\([^\)]*\)。 虽然这会匹配“某些foo()字符串”,但不匹配“某些foo字符串”。不知道这对你是否足够好。

0

你会想这样:

/\bfoo\b/ 

的\ b检查单词边界

foo("qwe"); 
function foo($param); 
return foo(); 

的不匹配foo 。基本上是一个词的开始或结尾(为什么它是双方)。

+0

这将匹配''一些foo字符串“'。 – kennytm 2010-08-26 17:37:30

+0

/^ foo <正常表达式的其余部分,以捕捉可能性> $/ – Chris 2010-08-26 17:45:35

+0

哦这篇文章是#3577777。 – kennytm 2010-08-26 18:29:02