第一次记录,试试随笔

时间:2022-07-16 16:26:08

正则表达式:regex

所有的正则表达式都在re模块中:

'\d' 任意数字[0`9]---后面跟大括号里面包含数字,表示重复几次:\d{3} ==\d\d\d,

向re.compile()传入字符串值,返回一个正则表达式对象,可以赋予一个变量。这个对象有个search方法:

text = '3good 654'

regular = re.compile('\d\d\d')

match = regular.search(text) #text里可以匹配,返回一个match对象,否则返回NONE

match对象有个group方法,返回的是个字符串?

>>>print(match.group())

 

>>>654

貌似很拗口......>>>>>>re.compile(正则表达式串).search(被查找文本).group()  #返回了第一个符合表达式的字符串

import re

text = 'my telephone num is 010-110'

regular = re.compile(r'\d\d\d-\d{3}')

mo = regular.search(text)

print('The num is:',mo.group())

>>>The num is: 010-110

'\n' 换行  

在正则表达式中添加括号,实际上就是在group方法中添加分组:group(0)返回整个查找到的文本。group(1)返回第一个分组,group(2)返回第二个分组,以此类推。

import re

text = 'my telephone num is 010-110'

regular = re.compile(r'(\d\d\d)-(\d{3})')

mo = regular.search(text)

print("First group is",mo.group(1))
print("Second group is",mo.group(2))

>>>

First group is 010
Second group is 110

一次获得所有分组用mo.groups()方法,返回一个元组