0

これが可能かどうかはわかりませんが...

文字列の場合

2-3

最初の部分が2番目の部分よりも小さいことを確認する正規表現を構築することは可能ですか?

同様に、正規表現を作成して最初の部分が 2 番目の部分より大きいことを確認することは可能ですか? または、それらが等しい場合は?

爆発を使用して手動で実行できることはわかっていますが、よりエレガントなソリューションを望んでいました。

何か案は?

ありがとうございました。

4

3 に答える 3

2

正規表現だけではできません。正規表現を使用して文字列を個別の部分に解析し、言語ロジックを使用して残りを実行する必要があります。例えば。

$string = "2-3";
$regexp = "/([0-9]+)[+-\/\*]([0-9]+)/";
preg_match($regexp, $string, $matches);

文字列を解析したら

if ($matches[1] > $matches[2]) { } 
于 2013-06-29T09:33:51.577 に答える
0

文字列が常にその形式である場合、正規表現は本当に必要ありません

$string = "2-3"; 
$firstGreater = (int) $string[0] > (int) $string[2];
于 2013-06-29T09:35:48.393 に答える
0

正規表現の目的は、いくつかのパターンに一致することだけです。これには、正確に一致する演算子が含まれており、文字列を操作します。

数値を比較する場合、いくつかの数学演算子を使用するため、そのような演算を実行するにはプログラミング言語を使用する必要があります。なんで?数学演算は、 などのタイプのデータで機能することが想定されているintためfloatです。

正規表現は、文字列から必要なデータを抽出するのに役立ちます -> デフォルトのツールを使用してデータを利用します。

于 2013-06-29T09:32:57.410 に答える