[英]How to use RegEx to ignore the first period and match all subsequent periods?
如何使用RegEx忽略第一個句點並匹配所有后續句點?
例如:
我試圖限制用戶輸入無效數字。 所以我將使用此RegEx替換空字符串匹配。
我目前有/ [ /[^.0-9]+/
但不足以禁止.
在(可選)初始之后.
約束start ^
和end anchor $
之間的數字,然后指定所需的數字模式。 如:
/^\\d+\\.?\\d+?$/
其中包含一個或多個數字,后跟可選的句點,然后是可選的數字。
我建議使用一個匹配1+數字,一個句點,然后將任意數量的數字和句點匹配到這兩個部分的正則表達式。 然后,在替換回調方法中,刪除所有具有額外replace
句點:
var ss = ['1.23', '1.23.45', '1.23.45.56']; var rx = /^(\\d+\\.)([\\d.]*)$/; for (var s of ss) { var res = s.replace(rx, function($0,$1,$2) { return $1+$2.replace(/\\./g, ''); }); console.log(s, "=>", res); }
圖案細節 :
^
- 字符串的開頭 (\\d+\\.)
- 第1組匹配1+位數和一個文字.
([\\d.]*)
- 除數字和文字點之外的零個或多個字符 $
- 結束字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.