常に一致するLPegパターンを作成する方法はありますか?私は空の文字列にマッチすることについて話していません、私は常に失敗するパターンについて話していますので、あなたがそれを順序付けられた選択肢に入れれば、常に第2の選択肢に落ちます。何も一致しないLPegパターンを書くにはどうしたらいいですか?
この理由は、私がLPEGの小さなパーサを書いていますし、私は私が代わりに
operators = lpeg.P("==") + "~=" + "<=" + ">=" + "<" + ">"
常に一致するLPegパターンを作成する方法はありますか?私は空の文字列にマッチすることについて話していません、私は常に失敗するパターンについて話していますので、あなたがそれを順序付けられた選択肢に入れれば、常に第2の選択肢に落ちます。何も一致しないLPegパターンを書くにはどうしたらいいですか?
この理由は、私がLPEGの小さなパーサを書いていますし、私は私が代わりに
operators = lpeg.P("==") + "~=" + "<=" + ">=" + "<" + ">"
operators = empty_pattern + "==" + "~=" + "<=" + ">=" + "<" + ">"
を書くことがしたいことは、最も簡単な方法であるということです。
引数がブール値の場合、結果は入力を消費することなく、常に成功するか、常に(ブール値に従って)失敗するパターンになります。
ありがとう!これはまさに私が必要としていたものです。 – hugomg
lpeg.reでは '(&。!)'を試すこともできます。つまり、次の文字があり、次の文字はありません。これらの2つのシナリオは相互に排他的です。 – greatwolf