python-re模块的使用

import  re
'''
\w, 匹配数字、字母、下划线
\W,非数字字母下划线
\d,匹配数字
\D,非数字
\s,匹配空格、\n,\t,  
\S,非
[a-zA-Z_] a-z或者A-Z或者下划线中的一个字符
. 匹配所有
*  表示前面的字符有0个或多个
+  前面的字符至少有一个
{n,m}  前面的字符有n——m个

'''

print(re.match('abc','abcde').group())#从开头就匹配,
print(re.search('abc','aaabcabc').group())  #查找整个字符串,只要找到一个符合的就停止查找
print(re.findall('abc','abcaaabc'))   #返回的是个列表,查找整个字符串,返回所有符合规格的字符串['abc', 'abc']
print(re.findall(r'\w','ab c * \n \t'))#['a', 'b', 'c']
print(re.findall('\W','ab 1 2* _\n'))#[' ', ' ', '*', ' ', '\n']
print(re.findall('\s','ab 1 2* _\n'))#[' ', ' ', ' ', '\n']
print(re.findall('\S','ab 1 2* _\n'))#['a', 'b', '1', '2', '*', '_']
print(re.findall('\d','ab 1 2* _\n'))#['1', '2']
print(re.findall('\D','ab 1 2* _\n'))#['a', 'b', ' ', ' ', '*', ' ', '_', '\n']
print(re.findall('\w_sb','a_sb b_sb ll_sb'))#['a_sb', 'b_sb', 'l_sb']
print(re.findall('a.c','abc adddvc abbbbc')) #['abc']
print(re.findall('a.*c','abc adddvc abbbbc'))#['abc adddvc abbbbc'] 贪婪的
print(re.findall('a.*?c','abc adddvc abbbbc'))#['abc', 'adddvc', 'abbbbc'] ?与*或者+链接就是就是非贪婪模式
print(re.findall('ab?','a ab ab abbbb')) #?与字符串链接就是前面的字符是一个或者0个 ['a', 'ab', 'ab', 'ab']
print(re.findall('ab*','a ab abb abbbc'))#['a', 'ab', 'abb', 'abbb']
print(re.findall('ab+','a ab abb abbbc'))#['ab', 'abb', 'abbb']
print(re.findall('ab{2,3}','a ab abb abbb abbbbb'))#['abb', 'abbb', 'abbb'] {}这个模式可以代替*,+,?  {0,} {1,}{0,1}
print(re.findall(r'(\d{3})-(\d{6,8})','010-123456 010-12333333'))#[('010', '123456'), ('010', '12333333')]

print(re.findall(r'href=".*"','<a id="blog_nav_sitehome" class="menu" href="https://www.cnblogs.com/">博客园</a>'))#['href="https://www.cnblogs.com/"']

猜你喜欢

转载自www.cnblogs.com/tarzen213/p/11117204.html