実際に使うパターンは以下のコード例を参照この文法に対応する解析構文を行うには、Parse[A]の型を返す要素(elem)をparser内に定義する。conversionによってParse[String]型の要素に変換される。"""[^\"'\s]+""".rダブルクォート、シングルクォートを含んだ文字列のパターン。エスケープシーケンス、Unicode文字列も表現できるように配慮。パターンの後につなげると、出力結果をパターンマッチにより加工できる。マッチした結果を後の処理で扱いやすい形に変更する際に使う。(parsing)正規表現の記述力だけでは限界があるため、正規表現でマッチした要素を組み合わせてより複雑な構文を記述できる。repsep(パターンを区切り文字のパターンを挟んで繰り返し連結)などが使える。}ヘッダの解析RegexParserのparseAllを呼び出すとパターンに文字列をマッチさせる。NoSuccessが返る。使い、構文解析に失敗したときの処理(Left)と、成功した時の処理(Right)を同時に扱えるようにするのがコードを複雑にしないコツ。variableStep)を解析を開始するコード。}行単位で処理を分けるRegexParsersでは構文定義を短く書けるが、awkやANTLRのようにオートマトンを生成するわけではなく、正規表現によるマッチを繰り返すので残念ながら速度が速くない。プログラミング言語の解析程度なら問題ないが、ゲノム情報処理のように大規模データ全体を構文解析するには速度的に厳しい。行ごとに処理が分けられる文法なら、RegexParsersによる処理は必要な行に対してのみ行うと良い。AまたはBを返す型である。(結果)]を返すとき、成功した場合は引き続きの処理を行いたいが、エラーの場合はそのまま次のコードにエラーを伝えたい場合がある。Either.rightを呼び出すと、値の内容がRightの型の場合は次の処理を行い、Leftの型の場合は以降の処理を無視してLeftの内容(この場合はエラー情報を)そのまま返すことができる。返すEitherを使うことで、エラーを含んだデータであっても処理の流れを妨げないようにできる。