新聞中心
正則表達式實現(xiàn)字符串的相關(guān)操作主要是實現(xiàn)對于字符串的開始和結(jié)束的錨定,那么具體的操作過程是什么呢?需要注意什么呢?讓我們看看具體的操作:

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供成都服務(wù)器托管,高防服務(wù)器租用,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務(wù)。
錨定和一般的正則表達式符號不同,它不匹配任何字符。相反,他們匹配的是字符之前或之后的位置?!癪”匹配一行字符串***個字符前的位置。<<^a>>將會匹配字符串“abc”中的a。<<^b>>將不會匹配“abc”中的任何字符。
類似的,$匹配字符串中***一個字符的后面的位置。所以<
◆正則表達式實現(xiàn)字符串之錨定的應(yīng)用
在編程語言中校驗用戶輸入時,使用錨定是非常重要的。如果你想校驗用戶的輸入為整數(shù),用<<^\d+$>>。
用戶輸入中,常常會有多余的前導(dǎo)空格或結(jié)束空格。你可以用<<^\s*>>和<<\s*$>>來匹配前導(dǎo)空格或結(jié)束空格。
◆正則表達式實現(xiàn)字符串之使用“^”和“$”作為行的開始和結(jié)束錨定
如果你有一個包含了多行的字符串。例如:“first line\n\rsecond line”(其中\(zhòng)n\r表示一個新行符)。常常需要對每行分別處理而不是整個字符串。因此,幾乎所有的正則表達式引擎都提供一個選項,可以擴展這兩種錨定的含義?!癪”可以匹配字串的開始位置(在f之前),以及每一個新行符的后面位置(在\n\r和s之間)。類似的,$會匹配字串的結(jié)束位置(***一個e之后),以及每個新行符的前面(在e與\n\r之間)。
在.NET中,當(dāng)你使用如下代碼時,將會定義錨定匹配每一個新行符的前面和后面位置:Regex.Match("string", "regex", RegexOptions.Multiline)
應(yīng)用:string str = Regex.Replace(Original, "^", "> ", RegexOptions.Multiline)--將會在每行的行首插入“> ”。
◆正則表達式實現(xiàn)字符串之絕對錨定
<<\A>>只匹配整個字符串的開始位置,<<\Z>>只匹配整個字符串的結(jié)束位置。即使你使用了“多行模式”,<<\A>>和<<\Z>>也從不匹配新行符。
即使\Z和$只匹配字符串的結(jié)束位置,仍然有一個例外的情況。如果字符串以新行符結(jié)束,則\Z和$將會匹配新行符前面的位置,而不是整個字符串的***面。這個“改進”是由Perl引進的,然后被許多的正則表達式實現(xiàn)所遵循,包括Java,.NET等。如果應(yīng)用<<^[a-z]+$>>到“joe\n”,則匹配結(jié)果是“joe”而不是“joe\n”。
正則表達式實現(xiàn)字符串的相關(guān)操作的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)正則表達式實現(xiàn)字符串的相關(guān)操作有所幫助。
【編輯推薦】
- 正則表達式入門必學(xué)的星星點點
- 正則表達式引擎淺析
- 正則表達式字符集探究
- ?*或+正則表達式使用詳解
- 實現(xiàn)正則表達式匹配任意字符解析
本文標(biāo)題:淺析正則表達式實現(xiàn)字符串的相關(guān)操作
分享網(wǎng)址:http://www.5511xx.com/article/cdpodoj.html


咨詢
建站咨詢
