0

次の文字列(*)があり、JavaCCで解析する必要があります。

初期文字列:(*)

    SPECIAL_STEP=\/file1\/file_1\/plugins\/plugin_folder\/folder1|
\/folder/subfolder|
\/stebs_folder\/cancan_folder|
\/fis_alb\/|
\/special_folder[^d].*|
\/.*_self_folder\/|
\/.*_conditional\/|

[step888#hrhkrtmlkhd]
FUNCTIONS=grregerg

次の部分文字列を抽出する必要があります:

`SPECIAL_STEP=\/file1\/file_1\/plugins\/plugin_folder\/folder1|
\/folder/subfolder|
\/stebs_folder\/cancan_folder|
\/fis_alb\/|
\/special_folder[^d].*|
\/.*_self_folder\/|
\/.*_conditional\/|`

「[step」という単語なしで抽出する必要があります。同じ単語( "[step")を入力ストリームに保持します。

Javaの通常の式を使用する場合簡単ですが、JavaCCを使用して同じ結果を取得するためのソリューションが必要です

Javaでは、次のような通常の表現がありますSPECIAL_STEP=[^=]*(?=\r?\n\[step))

今JavaCCでも同じことをする必要がありますが、JavaCCで前向きな先読みができるかどうかはわかりません。

4

0 に答える 0