Notepad++ 使用正則表達式匹配的方法
Notepad++ 使用正則表達式匹配
ctrl+F快捷鍵,彈出查找對話框;
選中底下的正則表達式即可。
一、常見匹配
1、正則表達式匹配以某字符開頭的這一行數(shù)據(jù)
表達式: (?:^|\n)字符位置.* 示例: (?:^|\n)prompt.*表示以prompt開頭的這一行字符串。
2、正則表達式匹配以a字符串開頭,b字符串結(jié)尾的字符,中間不管
表達式: a字符串位置(.+?)b字符串位置 ,注意很多字符有特殊意義,要加上\來轉(zhuǎn)義 示例: 匹配以to_date開頭,以), 字符串結(jié)尾的字符串 to_date(.+?)\), 即可,注意對)進行轉(zhuǎn)義。 注意: 上述說的是以(括號逗號)結(jié)尾。
3、只匹配純數(shù)字的字符串
表達式: ^[0-9]+$ 解釋: ^:匹配行首 [0-9]+:匹配1個或多個數(shù)字 $:匹配行尾,總的來說就是匹配一行數(shù)字 示例: 只匹配文檔中全是數(shù)字的某一行,任何符號都不能有。
4、只匹配純字母的字符串
表達式: ^[A-Za-z]+$ 解釋: ^:匹配行首 [A-Za-z]+:匹配1個或多個字母 $:匹配行尾,總的來說就是匹配一行字母 示例: 只匹配文檔中全是字母的某一行,任何符號都不能有。
5、同時查找多個字符串
表達式: a|b 示例: 張三|李四|王五 解釋: 同時查找文中包含張三、李四、王五字符串所在的行。
二、正則表達式(.+)和(.+?)的區(qū)別
1、符號釋義
① () 分組符,把括號內(nèi)的字符當(dāng)成一個整體處理。
② . 與換行符外的字符都匹配,針對單字符。
③ + 前一字符必須存在,可以重復(fù)1次或更多次
④ ?跟在子串后,表示匹配前面的字符串1次或0次,即前一字符可以存在也可以不存在,但是存在只能有一次;
跟在.、+、?后,表示進入非貪婪模式,也稱為惰性模式。
2、貪婪/非貪婪模式
正則默認(rèn)貪婪模式
1.貪婪模式
盡可能匹配最長的字符串。貪婪匹配是先看整體字符串是否匹配,如果不匹配,它會去掉字符串中的最后一個字符再次嘗試匹配。以此循環(huán),直至匹配成功。
2.非貪婪模式
盡可能匹配最短的字符串。惰性匹配是從左側(cè)第一個字符向右匹配,先看是否匹配,若不匹配,就加入右側(cè)下一個字符再次嘗試匹配。以此循環(huán),直至匹配成功。
3、實例
存在字符串"<1><123>"
①正則表達式<(.+)>表示盡可能匹配最長的符合規(guī)則<字符串>的內(nèi)容,最終返回"<1><123>"
②正則表達式<(.+?)>表示盡可能匹配最短的符合規(guī)則<字符串>的內(nèi)容,最終返回"<1>"
到此這篇關(guān)于Notepad++ 使用正則表達式匹配的方法的文章就介紹到這了,更多相關(guān)Notepad++正則表達式匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ORACLE數(shù)據(jù)庫中怎么求除數(shù)字、字母之外的非中文字符的正則表達式
最近使用oracle數(shù)據(jù)庫做一個進銷存項目,其中有一需求是:ORACLE數(shù)據(jù)庫中求除數(shù)字、字母之外的非中文字符的正則表達式,當(dāng)時還真是難住了,正則表達式好久沒用了,后來通過上網(wǎng)搜了下相關(guān)資料,下面把具體具體解決方案分享給大家,以供那些需要的朋友參考2015-10-10
PHP preg match正則表達式函數(shù)的操作實例
在php中preg_match()函數(shù)是用來執(zhí)行正則表達式的一個常用的函數(shù)。本文給大家介紹PHP preg match正則表達式函數(shù)的操作實例,需要的朋友參考下2016-04-04
正則表達式基礎(chǔ)教程 regular expression
正則表達式基礎(chǔ)教程 regular expression...2007-03-03
JS正則表達式匹配檢測各種數(shù)值類型(數(shù)字驗證)
這篇文章主要介紹了JS正則表達式匹配檢測各種數(shù)值類型(數(shù)字驗證)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2016-08-08
JavaScript正則方法replace實現(xiàn)搜索關(guān)鍵字高亮顯示
這里介紹的是JavaScript的正則表達式的replace方法 ,和實現(xiàn)搜索關(guān)鍵字高亮的功能.先介紹一下正則表達式的replace方法,具體內(nèi)容詳情大家參考下本文2017-09-09

