day17

2018-09-11  本文已影响0人  上邪5415

  今天主要学习正则表达式,正则表达式就是用来检测字符串是否满足某种规则的工具。

  1、正则语法

  python对正则表达式的支持,提供了一个内置模块:re。
  fullmatch(正则表达式,字符串):判断整个字符串是否符合正则表达式规则。

  匹配一个字符串,只有一位字符并且这个字符是任意字符。

from re import fullmatch
re_str = r'.'
result = fullmatch(re_str, 'a')
print(result)

  匹配一个字符串,前三位分别是abc,最后两位是字母数字或者下划线。

from re import fullmatch
re_str = r'abc\w\w'
result = fullmatch(re_str, 'abc2g')
print(result)

  匹配一个字符串,前三位是字母数字下划线第四位是一个空白字符最后一位是任意字符。

from re import fullmatch
re_str = r'\w\w\w\s.'
result = fullmatch(re_str, 'hu2\t?')
print(result)

  匹配一个字符串,前三位是数字字符,最后一位是任意字符。

from re import fullmatch
re_str = r'\d\d\d.'
result = fullmatch(re_str, '782L')
print(result)

  注意:正则中遇到\b,匹配的时候先不管它,匹配成功后再回头看\b位置是否是单词边界。
  匹配一个字符串是前四位是when,第五位是空白,空白后边是where。并且第四位n的后面是个单词边界。

from re import fullmatch
re_str = r'when\b\swhere'
result = fullmatch(re_str, 'when where')
print(result)

  匹配一个字符串,是否以两个数字字符开头

from re import fullmatch
re_str = r'^\d\d'
result = fullmatch(re_str, '23')
print(result)

  匹配一个字符串a数字,并且a数字是字符串的结尾

from re import fullmatch
re_str = r'a\d$'
result = fullmatch(re_str, 'a8')
print(result)

  注意:一个中括号只匹配一个字符

from re import fullmatch
re_str = r'[abc+]\d\d'
result = fullmatch(re_str, '+67')
print(result)
from re import fullmatch
re_str = r'[1-8][a-z][a-z]'
result = fullmatch(re_str, '2hn')
print(result)
from re import fullmatch
re_str = r'[^A-Z\d]abc'
result = fullmatch(re_str, '#abc')
print(result)
from re import fullmatch
re_str = r'a*b'
print(fullmatch(re_str, 'aaaaab'))
from re import fullmatch
re_str = r'[1-9]+\d*'
print(fullmatch(re_str, '1010'))
from re import fullmatch
re_str = r'@?\d+'
print(fullmatch(re_str, '@16723'))
上一篇 下一篇

猜你喜欢

热点阅读