1

Perl 正規表現マッチャーのようなものと一致させる必要があります

m/my regex!*/

引用符は、範囲内の任意の文字にすることができます。したがって、上記は次と同じです

m%my regex!*%

レクサー規則の単純な推測は次のようになります。

REGEX: 'm' quote=. (~(quote))* quote;

しかし、それは機能しません。なぜなら、後者quoteは を参照しているのではquote=なく、何らかのルールを参照しているからです。

私は多くの独自のコードでそれを行うことができます

REGEX: 'm' quote=. { ... implement the loop and final match myself ... } ;

しかし、どういうわけか、そのようなことを行うための標準的な方法があるべきだと思います。

4

2 に答える 2

1

...しかし、どういうわけか、そのようなことを行うための標準的な方法があるべきだと思います。

存在しない。カスタムコードでこれを行う必要があります。

于 2013-01-11T21:58:29.613 に答える
1

PL/SQL パーサーを見てみましょう (こちら)。Oracle は、これらの Perl スタイルの引用符付き文字列もサポートしています。

お気に入り:

q':select * from employees where last_name = 'smith':'

カスタム コードを例として使用します。(C および Java の実装が含まれています)。たぶんあなたの場合は単純化することさえできます。

イヴァン

于 2013-01-13T11:26:54.300 に答える