ディレクトリへのパスを含むいくつかの文字列を解析する必要があります。問題は、エスケープされた空白やその他のエスケープされた記号が含まれていることです。例えば:
"/dir_1/dir_2/dir_3/dir/another/dest_dir\ P\&G/"
の前に空白があることに注意してくださいP\&G/
。
これが私のツリートップ文法です(alpha_digit_specialには先頭に空白が含まれています)
rule alpha_digit_special
[ a-zA-Z0-9.+&\\]
end
rule path_without_quotes
([/] alpha_digit_special*)+
end
rule quot_mark
["]
end
rule path_with_quotes
quot_mark path_without_quotes quot_mark
end
rule path
path_with_quotes / path_without_quotes
end
nil
この文字列を解析した後に取得します。では、文字列にエスケープされた空白が含まれるようにルールを指定するにはどうすればよいでしょうか?