1樓:陽光的雷咩咩
\b在正則中表示單詞間隔。但由於\b在字串裡本身是個轉義,代表退格。r是得到字元本身。也就是說\b這兩個字元。
2樓:匿名使用者
因為\b 有兩種解釋,而\w 只有一種。
\b的兩種解釋是:
'\b', 如果前面不加r, 那麼直譯器認為是轉義字元「退格鍵backspace」;
r'\b', 如果前面加r, 那麼直譯器不會進行轉義,\b 解釋為正規表示式模式中的字串邊界。
而相比於\b, \w 只有第二種解釋,並沒有對應的轉義字元,所以不加r, 也不會出錯。
python正規表示式後向引用的一個例子: \b(\w+)\b\s+\1\b可為什麼我總覺得應該寫
3樓:匿名使用者
\s+表示空白字元,\1引用前面的\w+,即重複前面的單詞
空白字元後面跟著單詞已經隱含了單詞邊界\b,加不加\b匹配的結果都一樣
python正規表示式re.findall(r"\b\w+\b", s)中的r是什麼意思?
4樓:花臂華盛頓
在python的string前面加上『r』, 是為了告訴編譯器這個string是個raw string,不要轉意backslash '\' 。 例如,\n 在raw string中,是兩個字元,\和n, 而不會轉意為換行符。由於正規表示式和 \ 會有衝突,因此,當一個字串使用了正規表示式後,最好在前面加上'r'。
例:r"\n\n\n\n\n\n」
作用:宣告後面的字串是普通字串
特殊字串中含有:轉義字元 \n \t 什麼什麼的用途:一般用在 正規表示式、檔案絕對地址
1,正規表示式:
2、系統路徑
這樣就不用專門的去處理引號之中的特殊字元了
5樓:匿名使用者
python中字串前面加上 r 表示原生字串,
與大多數程式語言相同,正規表示式裡使用"\"作為轉義字元,這就可能造成反斜槓困擾。假如你需要匹配文字中的字元"\",那麼使用程式語言表示的正規表示式裡將需要4個反斜槓"\\\\":前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正規表示式裡轉義成一個反斜槓。
python裡的原生字串很好地解決了這個問題,這個例子中的正規表示式可以使用r"\\"表示。同樣,匹配一個數字的"\\d"可以寫成r"\d"。有了原生字串,你再也不用擔心是不是漏寫了反斜槓,寫出來的表示式也更直觀。
6樓:匿名使用者
re是python裡的正規表示式模組。findall是其中一個方法,用來按照提供的正規表示式,去匹配文字中的所有符合條件的字串。返回結果是一個包含所有匹配的list。
[1] 就是列表中的[1]啊
7樓:匿名使用者
1,表示匹配的值第一個字串
8樓:鍾桑揚
延伸閱讀:python的 內建函式 和 subprocess 。此文是本系列的第三篇文章了,和之前一樣,內容出自官方文件,但是會有自己的理解,並非單純的翻譯。
所以,如果我理解有誤,歡迎指正,謝謝。
本模組提供了和perl裡的正規表示式類似的功能,不關是正規表示式本身還是被搜尋的字串,都可以是unicode字元,這點不用擔心,python會處理地和ascii字元一樣漂亮。
正規表示式使用反斜杆(\)來轉義特殊字元,使其可以匹配字元本身,而不是指定其他特殊的含義。這可能會和python字面意義上的字串轉義相沖突,這也許有些令人費解。比如,要匹配一個反斜杆本身,你也許要用'\\\\'來做為正規表示式的字串,因為正規表示式要是\\,而字串裡,每個反斜杆都要寫成\\。
你也可以在字串前加上 r 這個字首來避免部分疑惑,因為 r 開頭的python字串是 raw 字串,所以裡面的所有字元都不會被轉義,比如r'\n'這個字串就是一個反斜杆加上一字母n,而'\n'我們知道這是個換行符。因此,上面的'\\\\'你也可以寫成r'\\',這樣,應該就好理解很多了。可以看下面這段:
9樓:匿名使用者
subn後面的中括號表示返回結果的iterable(迭代器),第2項,是說匹配的次數。
這個字串被匹配之後,替換了11次,因為每一個字元都是符合\w的。就都替換為hi了,然後返回了一個元組: ("hihihihihihihihihihihi",11) , 故此[1]就是11.
python正規表示式裡的\b和\b的區別!我看文件了.可是還是不明白! 求高手指點下!
10樓:匿名使用者
\b 匹配一個單詞邊bai界,也就是指du單詞zhi和空格間的位置。例如,「
daoer\b」可以匹配「never」中的版「er」,但不能匹權配「verb」中的「er」。
\b 匹配非單詞邊界。「er\b」能匹配「verb」中的「er」,但不能匹配「never」中的「er」。
維基說的很清楚奧,還有不明白的可以繼續問我...
怎樣用python正則匹配「\b」這兩個字元
11樓:吇爵之吻
\\b 第一個'\'是用來轉義第二個'\',這樣的正則匹配到的是'\b' 這兩個字元
12樓:匿名使用者
對應的正規表示式為r'\\b'
python 中 正則 表示式 的問題 re 模組的應用 \b 和\b的用法 ?求高手**演示!
13樓:匿名使用者
看官方文件:
14樓:匿名使用者
>>> findall(r"\b.\b", "hello,my baby!")
['e', 'l', 'l', 'a', 'b']>>> findall(r"\b.|.\b", "hello,my baby!")
['h', 'o', ',', 'm', 'y', ' ', 'b', 'y', '!']
python 正規表示式 \b
15樓:匿名使用者
\a匹配字串開頭 ,\z匹配字串結尾
\as... 匹配了spam ,\b匹配單詞邊界\b匹配了單詞spam和!之間的虛擬邊界,還有一個點匹配!
python 正規表示式 \bs*.\se\b與\bs\s*?e\b的含**釋
16樓:匿名使用者
實測:>>> res=re.compile(r'\bs*.\se\b')
>>> resl=re.findall(res,txt)
>>> resl
['site', 'sue', 'see', 'sse', 'ssee']
>>> res=re.compile(r'\bs\s*?e\b')
>>> resl=re.findall(res,txt)
>>> resl
['site', 'sue', 'see', 'sse', 'ssee', 'somewhere']
第一個正則:
\b ——單詞分界,
s*——0個或多個s
.——任一字元
\s——任一非空字元
e——字母e
\b——單詞分界
第一個正則是錯誤的,它還可以匹配 "are"、"ss[一個空格]re",等不符合要求的內容。
後者是可以匹配到的。
正規表示式 \b 是什麼意思? 怎麼用?
17樓:灬灬修
補充一點:
\b 在ascii字元中代表退格鍵, 但是 \b 同時也是一個正規表示式的特殊符號
為了讓re編譯器把 \b 當做你想匹配的字串,而非一個退格鍵,需要用另外一個反斜線進行轉義, \\b
18樓:匿名使用者
\b代表字與字中間那個看不見的東西,如
here is a word
那麼,這句中有好幾個\b, 每個單詞的前後都有一個\b.
所以你用 \bhere\b 可以匹配上面這個here,但如果here 不是一個單詞,而是一個單詞的一部分,如 adheread, 這樣的話,用here 可以匹配,用\bhere\b就不能區配了,因為ad後面沒有\b. 所以 adhere 中的here 不會被匹配。
總結: \b 就是用在你匹配整個單詞的時候。 如果不是整個單詞就不匹配。 你想匹配 i 的話,你知道,很多單詞裡都有i的,但我只想匹配i,就是「我」,這個時候用 \bi\b
\b就是反過來,代表非字間。 類似\d代表數字, \d代表非數字。
關於python中sorted方法的key引數
sorted bnthony hall key sortkeyfunc 這個是對字串 bnthony hall 中字元排序,字元排序當然要逐字元比較,傳給比較函式 sortkeyfunc的當然是字串中字元 python中怎麼向sorted 傳遞引數reverse true 1 檢視sorted 函式...
python中關於函式呼叫的問題提
def add pram1,pram2 result pram1 pram2return result def judgeadd a 1 b 3 if a add 1,2 print true elif b add 1,2 print false else return 0 judgeadd 執行這...
關於首字母為b的水果單詞,以b字開頭的水果名稱。除了香蕉之外。
banana 香蕉 baiblackberry黑莓 烏飯果dubilberry 越蔓橘zhi black currant 紅醋栗 blood orange 紅橙 daobeijing flowering crab海棠專果 bitter orange酸橙 bramleys 蘋果 beechnut山毛櫸...