91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

正則表達式中多行模式與單行模式的示例分析

發布時間:2021-09-16 14:41:33 來源:億速云 閱讀:154 作者:小新 欄目:互聯網科技

這篇文章將為大家詳細講解有關正則表達式中多行模式與單行模式的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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

測試一

正則表達式中多行模式與單行模式的示例分析

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

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

開啟多行模式

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

關閉多行模式

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

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

正則表達式中多行模式與單行模式的示例分析

如上圖所示:\r 匹配 [CR]、\n 匹配[LF]   <——  CR為回車  LF為換行 
字符串多個段落,比如
ab
cd
e
在windows操作系統中其實是: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,也沒有任何意義

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

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

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

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

關于“正則表達式中多行模式與單行模式的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太仆寺旗| 南陵县| 尉犁县| 洪江市| 修武县| 长沙市| 吴江市| 那坡县| 巢湖市| 南江县| 克东县| 巩义市| 鄂托克前旗| 拜城县| 溧阳市| 南充市| 临泽县| 迁西县| 克山县| 昆山市| 南汇区| 无为县| 舟山市| 嘉祥县| 锦屏县| 监利县| 齐河县| 鄂尔多斯市| 泰州市| 社会| 绵竹市| 浏阳市| 永仁县| 常德市| 西峡县| 文安县| 南投市| 兴文县| 浦江县| 蓬溪县| 常熟市|