一、Python匹配數字字母
在使用正則表達式匹配數字時,有時候需要匹配數字和字母的組合,例如網址中的ID,可以採用以下正則表達式:
import re
pattern = r'\w+\d+'
str_test = 'www.123.com/ID123'
result = re.findall(pattern, str_test)
print(result) # ['www.123', 'ID123']
該正則表達式中,\w代表匹配字母數字下劃線,+代表1個或多個,\d代表數字,也是1個或多個。因此,\w+\d+可以匹配以字母數字開頭,以數字結尾的字符串。
二、Python匹配兩組數據
有時候,需要同時匹配兩組數據,可以通過正則表達式中的()實現。例如,匹配一組數字和一組字母:
import re
pattern = r'(\d+)-(\w+)'
str_test = '123-abc'
result = re.findall(pattern, str_test)
print(result) # [('123', 'abc')]
該正則表達式中,(\d+)表示匹配一組數字,\w+表示匹配一組字母,-代表連接符。使用()將兩組數據分別匹配,並將結果返回成一個列表。
三、Python匹配數字開頭的字符串
有時候需要匹配數字開頭的字符串,可以使用^\d匹配數字開頭的字符串。例如:
import re
pattern = r'^\d\w+'
str_test = '123abc'
result = re.findall(pattern, str_test)
print(result) # ['123abc']
該正則表達式中,^代表匹配字符串的開頭,\d表示數字,\w+表示匹配1個或多個字母數字下劃線。
四、Python匹配數字加字母
有時候需要匹配數字和字母的組合,可以使用\d\w+或者\w+\d。例如:
import re
pattern1 = r'\d\w+'
pattern2 = r'\w+\d'
str_test1 = '123abc'
str_test2 = 'abc123'
result1 = re.findall(pattern1, str_test1)
result2 = re.findall(pattern2, str_test2)
print(result1) # ['123abc']
print(result2) # ['abc123']
該正則表達式中,\d\w+表示匹配1個數字加上1個或多個字母數字下劃線;\w+\d表示匹配1個或多個字母數字下劃線加上1個數字。
五、Python匹配數字之後加空格
有時候需要匹配數字後面加上一個空格的字符串,可以使用\d\s。例如:
import re
pattern = r'\d\s\w+'
str_test = '123 abc'
result = re.findall(pattern, str_test)
print(result) # ['123 abc']
該正則表達式中,\d\s表示匹配1個數字和1個空格,\w+表示匹配1個或多個字母數字下劃線。
六、Python匹配數字和字母信息
有時候需要同時匹配數字和字母信息,可以使用\d+\w+或者\w+\d+。例如:
import re
pattern1 = r'\d+\w+'
pattern2 = r'\w+\d+'
str_test1 = '123abc'
str_test2 = 'abc123'
result1 = re.findall(pattern1, str_test1)
result2 = re.findall(pattern2, str_test2)
print(result1) # ['123abc']
print(result2) # ['abc123']
該正則表達式中,\d+\w+表示匹配1個或多個數字加上1個或多個字母數字下劃線;\w+\d+表示匹配1個或多個字母數字下劃線加上1個或多個數字。
七、Python匹配數字前面的下劃線
有時候需要匹配數字前面的下劃線,可以使用_\d+。例如:
import re
pattern = r'_(\d+)'
str_test = '_123_456'
result = re.findall(pattern, str_test)
print(result) # ['123', '456']
該正則表達式中,_代表下劃線,(\d+)表示匹配1個或多個數字。使用()將數字匹配出來。
八、Python正則匹配
正則表達式可以用來檢索、替換文本。例如,要將所有的數字替換成X,可以使用以下代碼:
import re
pattern = r'\d+'
str_test = '123abc'
result = re.sub(pattern, 'X', str_test)
print(result) # 'XXXabc'
該正則表達式中,\d+表示匹配1個或多個數字。使用re.sub方法將匹配的數字全部替換成X。
九、Python中怎麼匹配全部數字
如果要匹配字符串中的全部數字,可以使用\d+。例如:
import re
pattern = r'\d+'
str_test = '123abc456'
result = re.findall(pattern, str_test)
print(result) # ['123', '456']
該正則表達式中,\d+表示匹配1個或多個數字。使用re.findall方法將匹配的數字全部返回成一個列表。
十、Python括號匹配
括號匹配是一種常見的需求,可以使用正則表達式實現。例如,匹配一組括號內的所有內容:
import re
pattern = r'\((.*?)\)'
str_test = 'Hello, (world)!'
result = re.search(pattern, str_test)
print(result.group(1)) # 'world'
該正則表達式中,\((.*?)\)表示匹配一對括號之間的所有內容,.*?表示非貪婪模式匹配任意字符。使用re.search方法找到第一個匹配的括號。
總結
Python中,正則表達式可以用於字符串匹配、檢索和替換等操作,非常實用。不同的需求需要使用不同的正則表達式,上面列舉了幾種常見的匹配方式。根據實際需求,可以靈活使用正則表達式,讓我們的程序更加高效。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/232305.html