簡體   English   中英

使用正則表達式查找特定范圍

[英]Using regex to find certain range

我正在嘗試使用正則表達式查找1-31之間的范圍。 這是我到目前為止所沒有的,但是沒有用。 還可以有人給我解釋一下正則表達式格式是如何工作的嗎?

1[0-3]?|2[0-9]|[1-9]

像這樣分別考慮1-9、10-29和30-31情況。

[1-9]|[12][0-9]|3[01]

有些人在遇到問題時會認為“我知道,我會使用正則表達式”。 現在他們有兩個問題。
-傑米·扎溫斯基(Jamie Zawinski)

這是詳細版本,它還引發了另外兩個有用的功能:

... {
   static public int asInt(String s, int dflt) {
        try {
          return parseInt(s, 10);
        } catch (NumberFormatException nfe) {
          return dflt;
        }
   }

   static public boolean isInRange(int n, int mn, int mx) {
       return (n >= mn) && (n <= mx);
   }

   static public boolean isBetween1and31(String s) {
       return isInRange(asInt(s, 0), 1, 31);
   }
}
([1-9]|[12][0-9]|3[01])

http://gamon.webfactional.com/regexnumericrangegenerator/

這將足以生成正則表達式b / wa范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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