私は([ " '])この正規表現を使用します(:???(=(\))\ 2。)* \ 1このanswer to this questionlex入力ファイルで正規表現をエスケープするには?
からしかし、私はlexの入力ファイルでそれを使うのか?次のように
DOUBLEQUOTE_CONTENTS([ "'])(:?(=(\))\ 2?)* \ 1
%%
{DOUBLEQUOTE_CONTENTS} {のprintf(?" をここに"); }
lexから多数の「認識されない文字」エラーが発生します。それは最初に窒息する?それ以降はさらに多くのことがあります。私がエスケープすれば?文字、正規表現はもはや一致しません。
上記の正規表現をどのようにしてlex入力ファイルで使用できますか?
WiktorStribiż[email protected]そうかもしれないが、それは私が信じている質問への偶発的です。 –
パターンを展開するだけでいいと思います。「[^ "\\] *(\\。[^" \\] *)* "" | [^ '\\] *(\\。[^' \\] *)* '' –