1.05 * fとf * 1.05の両方を解析して、fが固定文字である数値と等しい正の浮動小数点数であり、*は常に 'f'と浮動小数点数(つまり乗算)の間にあることを意味します。乗算がない場合は、それもOKであり、文字列全体が「f」であるため、「1.05 *」はオプションです。 1.05 * f * 1.05は動作しません。 gf * 1.05は機能せず、f * 1.05fは中断します。commutative操作を理解する最も正規表現の方法は?
私はPythonを使用しています。私は実際には、f * 1.05fも動作するので、f * 1.05を動作させるのは苦労しています。オプションの乗算の最後にドル記号を付けて浮動させると、何も動作しません。 「|」
^f(\\*(\\d*[.])?\\d+)? # f*1.05 matches, but unfortunately so does f*1.05f
^f((\\*(\\d*[.])?\\d+)?)$ # the $ makes f*1.05f not match, but f*1.05 doesn't match either!
本当に私の質問には、使用しなくても一度に1.05 *のF、F、およびF * 1.05作業のすべてを作るための巧妙な方法があるかどうかについてです左または右のフロートの間で選択することができます。
は、なぜあなたは論理和のための論理和演算子を使用したくないでしょうか? – L3viathan
より一般的な式構文を解析しようとしていますか?それを行うための優れた技術がいくつかあります。 –
コードはどこですか? – melpomene