日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
實現正則表達式匹配任意字符解析

我們如何實現正則表達式匹配任意字符的效果呢?這個過程需要使用什么呢?具體的操作需要注意那些方面呢?那么現在我們就來揭開這神秘的一面:

創(chuàng)新互聯是一家專注于網站建設、網站設計與策劃設計,定安網站建設哪家好?創(chuàng)新互聯做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:定安等地區(qū)。定安做網站價格咨詢:028-86922220

實現正則表達式匹配任意字符的真相:

使用“.”匹配幾乎任意字符。在正則表達式中,“.”是最常用的符號之一。不幸的是,它也是最容易被誤用的符號之一。

“.”匹配一個單個的字符而不用關心被匹配的字符是什么。唯一的例外是新行符。在本教程中談到的引擎,缺省情況下都是不匹配新行符的。因此在缺省情況下,“.”等于是字符集[^\n\r](Window)或[^\n]( Unix)的簡寫。

這個例外是因為歷史的原因。因為早期使用正則表達式的工具是基于行的。它們都是一行一行的讀入一個文件,將正則表達式分別應用到每一行上去。在這些工具中,字符串是不包含新行符的。因此“.”也就從不匹配新行符。

現代的工具和語言能夠將正則表達式應用到很大的字符串甚至整個文件上去。本教程討論的所有正則表達式實現都提供一個選項,可以使“.”匹配所有的字符,包括新行符。在RegexBuddy, EditPad Pro或PowerGREP等工具中,你可以簡單的選中“點號匹配新行符”。在Perl中,“.”可以匹配新行符的模式被稱作“單行模式”。很不幸,這是一個很容易混淆的名詞。因為還有所謂“多行模式”。多行模式只影響行首行尾的錨定(anchor),而單行模式只影響“.”。

其他語言和正則表達式庫也采用了Perl的術語定義。當在.NET Framework中使用正則表達式類時,你可以用類似下面的語句來激活單行模式:Regex.Match(“string”,”regex”,RegexOptions.SingleLine)

實現正則表達式匹配任意字符的一點總結:

◆保守的使用點號“.”

點號可以說是最強大的元字符。它允許你偷懶:用一個點號,就能匹配幾乎所有的字符。但是問題在于,它也常常會匹配不該匹配的字符。

我會以一個簡單的例子來說明。讓我們看看如何匹配一個具有“mm/dd/yy”格式的日期,但是我們想允許用戶來選擇分隔符。很快能想到的一個方案是<<\d\d.\d\d.\d\d>>??瓷先ニ芷ヅ淙掌凇?2/12/03”。問題在于02512703也會被認為是一個有效的日期。

<<\d\d[-/.]\d\d[-/.]\d\d>>看上去是一個好一點的解決方案。記住點號在一個字符集里不是元字符。這個方案遠不夠完善,它會匹配“99/99/99”。而<<[0-1]\d[-/.][0-3]\d[-/.]\d\d>>又更進一步。盡管他也會匹配“19/39/99”。你想要你的正則表達式達到如何完美的程度取決于你想達到什么樣的目的。如果你想校驗用戶輸入,則需要盡可能的完美。如果你只是想分析一個已知的源,并且我們知道沒有錯誤的數據,用一個比較好的正則表達式來匹配你想要搜尋的字符就已經足夠。

實現正則表達式匹配任意字符的相關內容就向你介紹到這里,希望對你了解和學習實現正則表達式匹配任意字符有所幫助。


本文標題:實現正則表達式匹配任意字符解析
轉載注明:http://www.5511xx.com/article/dhssigj.html