0

正規表現を使用して定義された型を検索するプログラムがパスカルにあります。これが私の正規表現です:type\s((([\w\d]+?=(([\w\d^():]+?;)|(record.*?end;)))+?)+)

この入力文字列でそのエラーが発生しています:

type ElementListyWsk=^ElementListy;ElementListy=record wskaznik:pointer;nstElement:ElementListyWsk;end;OperacjaNaTypiePtr=procedure(cos:pointer);StalaWsk=^Stala;Stala=record nazwa:string;wartosc:string;end;ZmiennaWsk=^Zmienna;Zmienna=record nazwa:string;typ:string;end;TypWsk=^Typ;Typ=record nazwa:string;definicja:string;end;ProceduraWsk=^Procedura;Procedura=record deklaracja:string;stale:ElementListyWsk;zmienne:ElementListyWsk;typy:ElementListyWsk;end;

短い文字列ではエラーは発生しませんが。次の文字列は、上記の一部を短縮したものです。

type OperacjaNaTypiePtr=procedure(cos:pointer);StalaWsk=^Stala;Stala=record nazwa:string;wartosc:string;end;ZmiennaWsk=^Zmienna;Zmienna=record nazwa:string;typ:string;end;TypWsk=^Typ;Typ=record nazwa:string;definicja:string;end;ProceduraWsk=^Procedura;Procedura=record deklaracja:string;stale:ElementListyWsk;zmienne:ElementListyWsk;typy:ElementListyWsk;end;

なぜそのエラーが発生するのですか? さらに情報が必要な場合は、それを求めてください。

4

0 に答える 0