#hello world calling
hello_world();
============================
//hello world calling
hello_world('hello');
==========================
/*
Hello World Calling
multiline comment
*/
hello_world('hello','world');
如何匹配具有不同评论风格的所有3个部分以及被调用的函数。
除此之外,我想捕获注释以及函数的参数。示例
array(
array(
[0] => 'hello world calling';
[1] => 'hello world calling';
[2] => 'hello world calling multiline comment';
)
array(
[0] => '';
[1] => 'hello';
[2] => 'hello world';
)
)
尝试了一些正则表达式,但没有得到我想要的
答案 0 :(得分:1)
您可以尝试使用this:
(?:(?:#|\/\/)(.*?)|\/\*((?:.|\n)*?)\*\/)*\n*?\b(.*?)\((.*?)\);
答案 1 :(得分:0)
我在https://regex101.com/#pcre上测试了你的文字,这些是我提出的最接近的文字。
为了纪念:
/\#(.*)|\/\/(.*)|\/\*([\w\W]*)\*\//g
结果:
MATCH 1
1. [1-20] `hello world calling`
MATCH 2
2. [69-88] `hello world calling`
MATCH 3
3. [141-188] `
Hello World Calling
multiline comment
`
对于论点:
/\((.*)\)/g
结果:
MATCH 1
1. [34-34] ``
MATCH 2
1. [102-109] `'hello'`
MATCH 3
1. [204-219] `'hello','world'`