日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则表达式入门之位置匹配

發布時間:2023/12/19 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则表达式入门之位置匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則表達式-位置匹配

位置匹配用來解決在什么地方進行字符串匹配操作的問題。

1單詞邊界

例1

要求匹配文本里的cat單詞

#文本 The cat scattered his food all over the room. #正則表達式 cat

#結果

The cat s catteredhis food all over the room.

從結果來看,不僅是單詞cat,單詞scattered里的cat也被匹配了,這不是我們想要的結果。能夠正確解決這個問題的辦法只有使用邊界限定符。

限定符\b指定單詞邊界。顧名思義,\b用來匹配一個單詞的開始或結尾。\b匹配的是這樣一個位置,這個位置位于一個能夠用來構成單詞的字符(也就是與\w相匹配的字符)和一個不能構成單詞的字符(也就是與\W相匹配的字符)之間。

例2

#文本 The cat scattered his food all over the room. #正則表達式 \bcat\b

#結果

The cat scattered his food all over the room.

這樣,就達到了我們的預期目標。注意,\bcat\b匹配到的字符長度是3個而不是5個。

如果不匹配一個單詞邊界,請使用\B。

例2

#文本 Please enter the nine-digit id as it appears on your color - coded pass-key. #正則表達式 \B-\B

#結果

Please enter the nine-digit id as it

appears on your color - coded pass-key.

\B-\B將匹配一個前后都不是單詞邊界的連字符,nine-digit和pass-key中的連字符不能與之匹配,但是color – coded中的連字符可以。

?

2字符串邊界

單詞邊界可以用來進行與單詞有關的位置匹配。字符串邊界有著類似的用途,只不過是用來進行與字符串有關的位置匹配而已。

用來定義字符串邊界的元字符有兩個:一個用來定義字符串開頭的^,另一個用來定義字符串結尾的$。

例1

#文本 <?xml version='1.0' encoding='UTF-8' ?> ... <?xml version='1.0' encoding='UTF-8' ?> ... #正則表達式 ^\s*<\?xml.*\?>

#結果

<?xmlversion='1.0' encoding='UTF-8' ?>

...

<?xml version='1.0' encoding='UTF-8'?>

...

由結果可知,因為有^的存在,所以只匹配了第一行的<?xml version='1.0' encoding='UTF-8' ?>,第三行并未匹配。

^\s*匹配一個字符串的開頭位置和隨后的零個或者多個空白字符。







總結

以上是生活随笔為你收集整理的正则表达式入门之位置匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。