0

以下数据需要正则表达式:

#file "scripts\generate.c";;
void Generate()

adsasd
asdasdas
asdasd
#file "a.c";;
void asdad()
asdasd
asdasd

它将像这样返回文件和代码:

Array(
    [0] => scripts\generate.c
    [1] => 
            void Generate()
               
            adsasd
            asdasdas
            asdasd
)

...和同样的#file "a.c";;

4

1 回答 1

1

您的第一次尝试几乎是正确的。只需更改((?!#file .*).)*((?:(?!#file).)*)添加修饰符g即可获取所有事件。

它应该看起来比这样:/#file "([^"]*)";;((?:(?!#file).)*)/gims

在这里测试:http ://www.regex101.com/r/cC5tK5

于 2013-01-06T00:53:42.223 回答