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 に答える