必要なデータ形式は次のとおりです: 1101001-510-50100-5000.510.5 10.5-2010.5-20.510-20.5
つまり、検証に必要な数値のサイズに制限はありません。浮動小数点数を含むかどうか、「-」を含むかどうか、および小数点以下 1 桁が保持されます。
リーリー
Following the voice in heart.
/^d{1,}.?d?-?(d{1,})?.?d?$/匹配过程如下:首先d{1,}匹配的是"20";.?匹配".";d?匹配"5",?匹配了1次;-?匹配"",因为?匹配0或者1次,在这里匹配0次;(d{1,})?匹配"555",此时?匹配1次;.?d?匹配"",此时两个?都匹配0次;$ 文字列の末尾と一致するため、「20.5555」が一致します。
/^d{1,}.?d?-?(d{1,})?.?d?$/
d{1,}
.?
d?
?
-?
(d{1,})?
.?d?
$
Update1: /^d{1,}.?d{1}?-?(d{1,})?.?d{1}?$/のマッチングプロセスは次のとおりです:
/^d{1,}.?d{1}?-?(d{1,})?.?d{1}?$/
d{1,}「20」と一致します;
.?「.」と一致します;
d{1}?会首先尝试匹配一个数字,此时匹配"5",? 1 回一致しました;
d{1}?
-?会匹配"",此时? 0 回一致しました。
.?匹配"",此时?d{1}? は「」に一致し、? は 0 回一致します。
d{1}
d
d{1}?匹配"",?匹配0次;d{1}表示数字重复一次,所以该正则和d注:最初に書いたマッチング処理に問題がありましたが、現在は更新されています。
???正規表現を使用する理由
/^d{1,}.?d?-?(d{1,})?.?d?$/
匹配过程如下:首先
d{1,}
匹配的是"20";.?
匹配".";d?
匹配"5",?
匹配了1次;-?
匹配"",因为?
匹配0或者1次,在这里匹配0次;(d{1,})?
匹配"555",此时?
匹配1次;.?d?
匹配"",此时两个?
都匹配0次;$
文字列の末尾と一致するため、「20.5555」が一致します。Update1:
/^d{1,}.?d{1}?-?(d{1,})?.?d{1}?$/
のマッチングプロセスは次のとおりです:d{1,}
「20」と一致します;.?
「.」と一致します;d{1}?
会首先尝试匹配一个数字,此时匹配"5",?
1 回一致しました;-?
会匹配"",此时?
0 回一致しました。(d{1,})?
?
は 0 回一致します。.?
匹配"",此时?
d{1}?
は「」に一致し、?
は 0 回一致します。d{1}
は数値が 1 回繰り返されることを意味します。したがって、この正規表現は実際にはd
と同じであるため、更新された正規表現と元の正規表現の間に違いはありません。d{1}?
匹配"",?
匹配0次;d{1}
表示数字重复一次,所以该正则和d
注:最初に書いたマッチング処理に問題がありましたが、現在は更新されています。リーリー
???正規表現を使用する理由