麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > regex > 正文

正則表達式的多行模式與單行模式圖文分析

2020-01-20 22:02:18
字體:
來源:轉載
供稿:網友

在Expresso中,測試“多行模式”

測試一

注意:這里樣例文本中3eeeee后面沒有回車,光標就在e的后面。匹配的結果是3eeeee,如上圖的Search Results區(qū)中所示。

為什么這里不能匹配1abcde和2abc?

開啟多行模式

^ 可以匹配字符串開頭(字符串的開始位置),也可以匹配行的開頭(即換行符/n之后的位置)
$ 可以匹配字符串結尾(字符串的結束位置), 也可以匹配行的結尾(即換行符/n之前的位置)

關閉多行模式

^ 只能匹配字符串開頭
$ 只能匹配字符串結尾

知識點:/r為回車符,/n 為換行符。在windows中,我們平常說的換行,實質上是先回車,后換行;下面有更詳細解說。

如上圖所示:/r 匹配 [CR]、/n 匹配[LF]   <――  CR為回車  LF為換行 
字符串多個段落,比如
ab
cd
e
在windows操作系統(tǒng)中其實是:ab[CR][LF]cd[CR][LF]e

在windows中,文本中的回車換行儲存為: 0D 0A。也就是說,先儲存的是“回車/r”<CR>,再儲存的是“換行/n”<LF>
CR用符號'/r'表示, ASCII代碼是13, 十六進制為0x0D;
LF用符號'/n'表示, ASCII代碼是10, 十六進制為0x0A;

正則表達式:(?m)^(/d/w+)(/s*)$

樣例文本

匹配結果

在Expresso、PHP中,啟用多行模式,"$" 匹配字符串結束位置或者 "/n" 之前的位置。

單行模式

開啟單行模式: . 可以匹配任意字符(包括換行符)
關閉單行模式: . 只有匹配 非換行 的其它任意字符(.可匹配/r,即除了不匹配/n外的所有字符。)

多行模式 影響 ^ 和 $ 的匹配
單行模式 影響 . 的匹配

多行模式中必定包含 ^ 或 $ 或同時包含,否則即使加了 m,也沒有任何意義

單行模式和多行模式是八桿子打不著的兩個概念,只是因為正則發(fā)展的歷史原因,造就了這樣兩個MS互斥的概念
單行模式影響的是小數點“.”的匹配范圍
多行模式影響的是“^”和“$”的匹配范圍

至于后面幾個概念,全局匹配,多行模式和貪婪模式之間也沒有什么必然聯(lián)系

全局匹配關閉,只匹配首次成功匹配項,全局匹配開啟,匹配所有成功匹配項
全局模式是一些腳本語言中才有的概念
在進行匹配時,關閉全局模式,類似于.NET中的Match方法,開啟全局模式,類似于.NET中的Matches方法
在進行替換時,關閉全局模式,類似于Java中的replaceFirst,開啟全局模式,類似于Java中的replaceAll

(在進行匹配時,關閉全局模式,類似于PHP中的preg_ match函數;開啟全局模式,類似于PHP中的preg_ match_ all函數)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品久久久久久久久久久久 | 久久精品视频一区二区三区 | av电影在线网 | 日韩视频一区二区三区在线观看 | 午夜亚洲影院 | av在线免费网址 | 日韩美香港a一级毛片 | 羞羞的动漫在线观看 | 成人免费福利网站 | 毛片在线免费视频 | 精品国产一区二区三 | 爱草成年 | 国产精品久久久久久久久久久久久久久 | 欧美一区在线观看视频 | 国产在线精品一区二区夜色 | www.69色 | 欧美一区二区三区不卡免费观看 | 91在线精品亚洲一区二区 | 日韩区在线 | 中文字幕激情 | 日韩精品99久久久久久 | 叶子楣成人爽a毛片免费啪啪 | 成人店女老板视频在线看 | 污视频在线看 | 国产99久久精品 | 精品无吗乱吗av国产爱色 | 久久免费视频7 | 精品一区二区三区中文字幕 | 欧美日韩国产一区二区三区在线观看 | 欧美a级在线免费观看 | 欧美一级高清片在线 | 欧洲黄色一级视频 | 国产午夜精品在线 | 免费一级肉体全黄毛片 | 一级黄色毛片免费 | gogo全球大胆高清人露出91 | 亚洲精品欧美在线 | 一级黄色片在线看 | 久久亚洲一区二区三区成人国产 | 成人福利视频导航 | av在线播放地址 |