LexとYaccを使用して、MathMLからLatexへの単純なトランスレータを開発しています。正規表現ルールを含む私のlexファイルには、算術演算子[ - + * = /]のために定義されたものがあります。プラスマイナス(+ - )と見えない時間( '& InvisibleTimes')を認識するように拡張したいが、私は正規表現になじみがなく、助けが必要だ。レックス用正規表現
0
A
答えて
1
これを試してください:あなたは、それは、オペレータが文字クラスの外だから+-
で+
をエスケープする必要が
([-+*=/]|\+-|&InvisibleTimes)
注意を。これはバックスラッシュ(ここでやったように)や二重引用符で行うことができます。 (二重引用構文はかなり珍しいです - 他のほとんどの正規表現の実装ではエスケープにバックスラッシュしか使わないので、バックスラッシュを使うと正規表現をより「従来のもの」にする傾向があります)。
2
この作品のようですか?
(?:[-+*=/]|\+-|&InvisibleTimes)
0
私はあまりよくありませんMathMLに精通しているので、私はあなたの反対の問題を抱えています。他の人が言ったように、あなたはこのように、すべて1つの正規表現でこれを行うことができます。
[-+*=/]|\+-|&InvisibleTimes
をしかし、あなたはこれらのそれぞれに関連するさまざまなアクションを持っているしたい場合は、このようにそれを実行する必要があります。
[-+*=/] {/* action 1 here */} \+- {/* action 2 here */} &InvisibleTimes {/* action 3 here */}
関連する問題
- 1. 正規表現用の正規表現
- 2. 正規表現の正規表現の正規表現
- 3. 正規表現 - 正規表現
- 4. 。NET正規表現(正規表現)
- 5. 正規表現の正規表現と ' -
- 6. 正規表現の正規表現データ
- 7. 正規表現 - 正規表現
- 8. 正規表現(正規表現)Java
- 9. 正規表現の正規表現
- 10. C#正規表現の正規表現
- 11. (?=正規表現)VS(?:正規表現)
- 12. preg_match正規表現の正規表現を持つ正規表現
- 13. 正規表現正規表現と異なるハイブ正規表現ですか?
- 14. 正規表現:引用符
- 15. ハイライト用正規表現
- 16. javascript用正規表現
- 17. コードフォーマット用正規表現
- 18. 正規表現アスタリスク使用
- 19. 使用正規表現
- 20. Googleアナリティクスゴール用正規表現
- 21. エクスプレス用正規表現ファイルパス
- 22. 変換用正規表現
- 23. 正規表現:表現
- 24. 正規表現表現
- 25. 正規表現表現
- 26. 正規表現:表現
- 27. 正規表現を使って正規表現を使用する正規表現CSS
- 28. 正規表現)
- 29. 正規表現
- 30. 正規表現