正規表示式

2021-08-19 17:49:27 字數 3595 閱讀 6729

正規表示式(regular expression)描述了一種字串匹配模式,主要用來檢索、替換匹配某種模式的字串。

下面以python**來展示正規表示式的匹配。

import re

print(re.findall(r'.', 'abc'))

# **執行結果

['a', 'b', 'c']

import re

print(re.findall(r'^th', 'this is a demo. this is a demo.'))

# **執行結果

['th']

import re

print(re.findall(r'demo$', 'this is a demo. this is a demo'))

# **執行結果

['demo']

import re

print(re.findall(r'test*', 't te tes test testt'))

# **執行結果

['tes', 'test', 'testt']

import re

print(re.findall(r'test+', 't te tes test testt'))

# **執行結果

['test', 'testt']

import re

print(re.findall(r'test?', 't te tes test testt'))

# **執行結果

['tes', 'test', 'test']

import re

print(re.findall(r'test\?', 't te tes test? testt'))

# **執行結果

['test?']

import re

print(re.findall(r'te|st', 't te tes test'))

# **執行結果

['te', 'te', 'te', 'st']

import re

print(re.findall(r'[test]', 'this is a test'))

# **執行結果

['s', 's', 't', 'e', 's', 't']

import re

print(re.findall(r'[^test]', 'this is a test'))

# **執行結果

['t', 'h', 'i', ' ', 'i', ' ', 'a', ' ']

import re

print(re.findall(r'test', 'this is a test testt'))

# **執行結果

['test', 'testt']

import re

print(re.findall(r'(test)', 'this is a test testt'))

# **執行結果

['test', 'test']

import re

print(re.findall(r'\w', 'is this a test?_'))

# **執行結果

['i', 's', 't', 'h', 'i', 's', 'a', 't', 'e', 's', 't']

import re

print(re.findall(r'\w', 'is this a test?'))

# **執行結果

[' ', ' ', ' ', '?']

import re

print(re.findall(r'\d', 'test 123'))

# **執行結果

['1', '2', '3']

import re

print(re.findall(r'\d', 'test 123'))

# **執行結果

['t', 'e', 's', 't', ' ']

import re

print(re.findall(r'\s', 'test 123\n'))

# **執行結果

[' ', '\n']

import re

print(re.findall(r'\s', 'test 123\n'))

# **執行結果

['t', 'e', 's', 't', '1', '2', '3']

import re

print(re.findall(r'\n', 'test 123\n'))

# **執行結果

['\n']

import re

print(re.findall(r'\f', 'test 123\f'))

# **執行結果

['\x0c']

import re

print(re.findall(r'\r', 'test 123\r'))

# **執行結果

['\r']

import re

print(re.findall(r'\t', 'test 123\t'))

# **執行結果

['\t']

import re

print(re.findall(r'\v', 'test 123\v'))

# **執行結果

['\x0b']

import re

print(re.findall(r'th(?=is)', 'there or this or the?'))

# **執行結果,匹配的是this中的th

['th']

import re

print(re.findall(r'th(?!is)', 'there or this or the?'))

# **執行結果,匹配的是there, the中的th

['th', 'th']

import re

print(re.findall(r'(?<=h)e', 'the or he or she?'))

# **執行結果,匹配的是he中的e

['e']

import re

print(re.findall(r'(?, 'the or he or she?'))

# **執行結果,匹配的是the, she中的e

['e', 'e']

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...