Qtコンポーネント入力を表示する正規表現の使用概要


Qtの正規表現検証器クラス:QRegExpValidator.インタフェースのプログラミングをする时、テキストボックスの処理は往々にしてとても面倒な事で、1つは焦点がテキストボックスに入る时、人间化の考虑から、テキストボックスの中のテキストを选んで、入力しやすいです;二つ目は、テキストボックスの入力を制限し、有効なテキストのみを入力することを許可し、そうしなければ、プログラムの中で不正な入力をフィルタリングする必要があり、正規表現の効果が表示されます!
正規表現検証器を使用して数値範囲を制限する一般的な使用方法を次に示します.
単純な正規表現:
^(-?[0]|-?[1-9][0-9]{0,5})(?:\.\d{1,4})?$|(^\t?$)(^-?180$)|(^-?1[0-7]\d$)|(^-?[1-9]\d$)|(^-?[1-9]$)|^0$^-?(180|1?[0-7]?\d(\.\d+)?)$^-?(180|1?[0-7]?\d(\.\d{1,4})?)$
^-?(90|[1-8]?\d(\.\d{1,4})?)$
 (1).式の先頭の^と末尾の$は文字列の開始と末尾を限定する. (2)."-?"1つまたは0つの負の記号を表し、この中の疑問符はその前の文字が0回または1回繰り返されることを表す. (3).パイプシンボル"|"は、平行グループを表し、例えば、後の3つ、180または他の形式を表す. (4).[1−9]は、限定された数の範囲が1〜9であることを示し、残りは同様であり、限られた数の値であれば、例えば−255〜255を限定する場合、第1の数(5).2の限定は、[1,2]と表現されるべきであり、この位置が1または2であることのみが許容されることを示す. (6).「d」は、1桁の数字に一致するエスケープ文字です. (7).“\.” 一致する小数点を表す. (8).「d+」で、この中の+はその前のdが1回または複数回繰り返されることを表す.
 (9).「d{1,4}」の中の{1,4}は1~4回繰り返すことを表す.
制限浮動小数点数入力範囲は[-999999.99999999999.99999]:
QRegExp rx("^(-?[0]|-?[1-9][0-9]{0,5})(?:\\.\\d{1,4})?$|(^\\t?$)"

制限浮動小数点数入力範囲は[-18080]:
QRegExp rx("(^-?180$)|(^-?1[0-7]\\d$)|(^-?[1-9]\\d$)|(^-?[1-9]$)|^0$");

制限浮動小数点数入力範囲は[-18080]:
QRegExp rx("^-?(180|1?[0-7]?\\d(\\.\\d+)?)$");

制限浮動小数点数入力範囲は[-18080]であり、小数点以下の4ビットに限定される.
QRegExp rx("^-?(180|1?[0-7]?\\d(\\.\\d{1,4})?)$"); 

制限浮動小数点数入力範囲は[-90,90]であり、小数点以下の4ビットに限定される.
QRegExp rx("^-?(90|[1-8]?\\d(\\.\\d{1,4})?)$"); 

制限[-255,255]の整数:
QregExp rx(^-?(255|[1,2]?[0-4]?\d|[1,2]?5[0-4]?)$);

制限[-255,255]小数:
QregExp rx(^-?(255|([1,2]?[0-4]?\d|[1,2]?5[0-4]?)(\.\d)?)$)