正規表現パターンで比較を使用できますか? greater than
最近一致したグループが数字かどうかを確認したい。これがパターンです:そして、 true を返すsize=(\d+)
かどうかを確認したいです。(\d+)>200
2 に答える
5
同じ構文ではできませんが、次のようなより複雑な式を使用すると、次のことが可能になります。
200 より大きい:
([1-9]\d+|(?!200)[2-9])\d\d
200 を含める:
([1-9]\d+|[2-9])\d\d
ただし、他の(およびそれ以上の)数に近づくと、それは手に負えなくなります。
すべての数字を一致させてから、結果をループして> 200
チェックを行い、準拠していない数字を削除するのが最善です。
注: 上記の正規表現は、純粋な正規表現で 200 を超える数の一致が可能であることを示すためのものです。ただし、これはお勧めできません。より複雑な数値や可変数値は使用できません。
> 30*1024*1024
OPはコメントで、一致させたいと述べました。> 31457280
正規表現が面倒な理由を証明するという名目で、必要なパターンを書きました。
\b((3[1-9][4-9][5-9][7-9][2-9][8-9]\d+)|(3[1-9][4-9][5-9][7-9][3-9]\d{2,})|(3[1-9][4-9][5-9][8-9]\d{3,})|(3[1-9][4-9][6-9]\d{4,})|(3[1-9][5-9]\d{5,})|(3[2-9]\d{6,})|(?!31457280)(4\d{7,}))\b
(あまり美しくない!)
于 2013-08-23T11:36:33.683 に答える
0
いいえ、それはできません。正規表現の目的は、正規表現を使用してプログラムするのではなく、式を一致させることです。
于 2013-08-23T11:35:12.677 に答える