正規表示式例項總結 排除環視

2021-05-22 15:53:15 字數 548 閱讀 7033

perl:

排除環視

需求如下,有一字串str,寫正規表示式,必須滿足如下條件:

1,不能為空字串

2,必須是整數

3,不能以0開頭

4,0-9中每個數字,只能出現一次。即0-9這十個數每個數只能出現一次,1265是可以的,1125667就不行了,1出現了2次,6也出現了兩

次看到別人給的答案:

^

(?!0)            #排除環視,當開頭字元不為0時匹配成功。

(?:               #非捕獲型括號,提高速度。

([0-9])      #0-9任意取乙個數字,但開頭的數字不能為0。

(?!.*?/1)   #排除環視,意思是當?!後面的字元不出現時匹配成功。?!/1意思是當不出現/1即$1中的字元時匹配成功

#如果此處是(?!/1)可以保證不會出現兩個連續的數字,但無法保證不會出現之前已經出現的數字。而(?!.*?/1)

#卻能保證,不知道是如何做到的?)+$

正規表示式環視

正規表示式環視 1.環視又叫預搜尋和零寬斷言 2.環視又劃分為 表示式說明 expression 逆序肯定環視,表示所在位置左側能夠匹配expression 逆序否定環視,表示所在位置左側不能匹配expression expression 順序肯定環視,表示所在位置右側能夠匹配expression ...

正規表示式環視

4種環視 順序肯定環視 pattern 逆序肯定環視 pattern 順序否定環視 pattern 逆序否定環視 注意 環視是不會占用物理匹配的 順序肯定環視的2種用法 環視在左表示式在右 二次篩選匹配 表示式在右環視在左 以表示式環視結尾 如 字元aa1235206894 s d 環視匹配前6位任...

vim 正規表示式之環視

vim 處理字串的時候用環視,可以方便的處理複雜的刪除和替換操作 關於環視的解釋請參考yurii的 精通正規表示式 一書吧。如有下列則符串 smallcat smalldog mysmallcat smallcat lili 順序環視 查詢後面是 的字元 small cat 順序否定環視 查詢後面不...