2
私は不慣れで悩んでいましたが、それは素晴らしかったですが、私はRegexesを松葉杖として使うのをやめようとしていましたが、もう少し冗長になりました。この可読性を保つために、ちょうど#'[A-z]'
と言うのは実際には'A'|'B'|etc
の形式です。無数の数字や文字を1枚の葉にしますか?
(def myprsr (instaparse.core/parser
"word = (ltr | num)+;
<ltr> = #'[A-z]';
<num> = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';"))
(myprs"foo123") ;; -> [:word "f" "o" "o" "1" "2" "3"]
ポストパース処理の一部として、それらを連結するのを避けるために(私は数のトップレベルのルールを作った場合)[:word "foo123"]
または[:number "123"]
のような葉を出すために#'[A-z]+'
と#'[0-9]+
に頼ることなく、どのような方法があります?