簡體   English   中英

如何使用RegEx忽略第一個句點並匹配所有后續句點?

[英]How to use RegEx to ignore the first period and match all subsequent periods?

如何使用RegEx忽略第一個句點並匹配所有后續句點?

例如:

  • 1.23(不匹配)
  • 1.23.45(與第二期相匹配)
  • 1.23.45.56(匹配第二和第三期)

我試圖限制用戶輸入無效數字。 所以我將使用此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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM