有關perl正規表示式的一些雜項

2022-10-07 09:12:09 字數 763 閱讀 5929

$也能匹配\n

見perl語言入門,page 132, 注釋6

1 /^.*$/能匹配"\n"麼?能!因為$不僅能匹配行尾,也能匹配\n

2 /^.*$/能匹配"b\n"麼?能!.能b匹配. \n匹配$

3 /^.*$/能匹配"\nb"麼?不能!為什麼?因為預設情況下,.不能匹配\n,把模式改一下變成/^.*$/s就可以了,/s表示.能匹配任意字元,包括\n

多行匹配/m

看乙個例子,這段**輸出:hello

複製** **如下:

my $text = "hello, world,\nhello zdd,\nhello autumn";

while ( $text =~ /^hello/g )

稍微改變一下,加上/m選項

複製** **如下:

my $text = "hello, world,\nhello zdd,\nhello autumn";

while ( $text =~ /^hello/mg )

現程式設計客棧在輸出變成了

hello

hello

hello

註解:預設情況下,^和$匹配整個字串的開頭和結尾,但是加上/m之後,^和$就匹配每行的開頭和結尾。也就是說,因為字串中有換行符\n,所以/m選項使得^$匹配每行的開頭和結尾。

如果字串中沒有換行符,那麼/m選項是不起作用的。

本文標題: 有關perl正規表示式的一些雜項

本文位址: /wangluo/re/91961.html

一些正規表示式

要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...

一些正規表示式

判斷是否是正整數if isnan paramvalue paramvalue 0 else 金額的格式判斷輸入金額的要求 整數字最多十位,小數為最多為兩位,可以無小數字 0 9 1 9 0 9 0 9 function checkmoney str 0 9 if re.test str else 手...

一些正規表示式

記錄一下 以防忘記 string hello 123 4567 world this is a regsssss res re.match w s d s d s w string 匹配到 hello 123 4567 world this 其中 代表乙個字串的開始 代表乙個字串的結尾 w 匹配字母...