1

正規表現パターンで比較を使用できますか? greater than最近一致したグループが数字かどうかを確認したい。これがパターンです:そして、 true を返すsize=(\d+)かどうかを確認したいです。(\d+)>200

4

2 に答える 2

5

同じ構文ではできませんが、次のようなより複雑な式を使用すると、次のことが可能になります。

200 より大きい:

([1-9]\d+|(?!200)[2-9])\d\d

200 を含める:

([1-9]\d+|[2-9])\d\d

ただし、他の(およびそれ以上の)数に近づくと、それは手に負えなくなります。

すべての数字を一致させてから、結果をループして> 200チェックを行い、準拠していない数字を削除するのが最善です。

注: 上記の正規表現は、純粋な正規表現で 200 を超える数の一致が可能であることを示すためのものです。ただし、これはお勧めできません。より複雑な数値や可変数値は使用できません。

> 30*1024*1024OPはコメントで、一致させたいと述べました。> 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 に答える