perl筆記(三) 正規表示式

2021-08-06 00:09:55 字數 958 閱讀 5696

正規表示式

. 匹配任意乙個字元

* 匹配前一字元零次或多次

.* 匹配任意字元零次或多次

+ 匹配前一字元一次或多次

? 匹配前一字元零次或一次

| 或,擇一匹配

[a-z]

[abc] 匹配其中乙個

\s 匹配任意空白字元

/[\da-fa-f]+/ 匹配十六進製制數[\d

] 匹配任何數字[\d

] 匹配任何非數字[\d

\d] 匹配任意字元(小寫為原意,大寫為否定意義)

^ 僅匹配串首

$ 僅匹配串尾

\d 任意數字 [0-9]

\d 除數字外的任意字元 [^0-9]

\w 任意單詞字元 [_0-9a-za-z]

\w 任意非單詞字元 [^_0-9a-za-z]

\s 空白 [

\r\t

\n\f

]\s 非空白 [^ \r

\t\n

\f]

=~ 檢驗匹配是否成功:成功則返回true;不匹配則返回0,即false。

!~ 相反。

/string/i 大小寫無關匹配

/abc.*def/s 匹配任意字元,包括換行符

/a/ 匹配重複出現5-15次的字母a

替換操作符

s/src/place/ src替換成place,只替換一次

/g 全域性替換

s/^\s+// 去除開頭的空白

s/\s+$// 去除結尾的空白

my @fields = split(/separator/,$str);#將str按分隔符進行分割

my @fields = split(/\n+/, $str); 按換行符分割

my @fields = split(/\s+/, $str); 按空格分割

正規表示式(三) 正規表示式中的重複

我們在之前知道了正規表示式元字元的概念,再結合上重複的概念,才能寫出來一些相對高階的正規表示式。因為在實際的正規表示式的使用過程中,我們肯定不是那麼簡單的只用元字元來進行一些簡單的匹配,一般情況下還需要配合上重複的概念才能從乙個很長很亂的字串中匹配出我們想要的東西。下面我們會從下面的幾個方面來進行正...

python基礎(三) 正規表示式

import re 匹配abc m re.findall abc aabbccabccbaccbaaabcabc print m 匹配一位數字,digit m re.findall d 123abc1a2b3c1b2c3a print m 匹配四位數字 m re.findall d d d d 12...

Perl 正規表示式

正規表示式文中列表 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個後向引用 或乙個八進位制轉義符。匹配輸入字串的開始位置。如果設定了 regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果設定了 regexp 物件的multiline 屬性...