1. 程式人生 > 實用技巧 >Redis分散式鎖的正確實現方式

Redis分散式鎖的正確實現方式

1.量詞

*

匹配前面的子表示式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等價於{0,}。

+

匹配前面的子表示式一次或多次(大於等於1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等價於{1,}。

?

匹配前面的子表示式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等價於{0,1}。

{n}

n是一個非負整數。匹配確定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的兩個o。

{n,}

n是一個非負整數。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等價於“o+”。“o{0,}”則等價於“o*”。

{n,m}

mn均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”將匹配“fooooood”中的前三個o為一組,後三個o為一組。“o{0,1}”等價於“o?”。請注意在逗號和兩個數之間不能有空格。

  

    範圍:

      \d <=> [0-9]

      [範圍]===》[a-z] [A-Za-z] ,[13579] [1-37-9]

      [^範圍] ====》不在範圍內的 [^2-6]

      | x|y == [xy]

      ()===>整體 1(3\d)|(8[13589])|(7[136])

  例項:

  1.判斷輸入的電腦號碼是否正確

  

電話號碼:<input type="text" name="tel" id="mytel" required="required" 
      placeholder="請輸入電話號碼" pattern="^(\+86)?1((3[0-9])|(5[0-9])|(7[135-8])|(8[0-35-9])|(9[17]))\d{8}$"/>
/*分析  

1. +86可以出現一次或0次
2.號段:13[0-9],15[0-9],166,17[135-8],18[0-35-9],19[17]
3.\d{8}

/*

  2.判斷郵箱是否輸入正確

分析:

  1.開頭:[A-Za-z0-9]{5,16}
  2.必須包含的符號:@
  3.@後面跟的字元:[a-z0-9]{2,5}
  4.(.com|.cn)

郵箱:<input type="email" id="mail" name="mail" required="required" placeholder="請輸入郵箱"
                pattern="^[A-Za-z0-9]{5,16}@[a-z0-9]{2,5}\.((com)|(cn))$" title="請輸入正確的郵箱"
                 />

  3.判斷是否為非負整數

<input type="text"  pattern="^0|[1-9]\d*$" />

  4.判斷是否為整數

<input type="text" pattern="^-?([1-9]\d*)|0$"/>

注:上面只是個人見解,本人初學者,如有不足之處,還望各位大牛批評指正。