1. 程式人生 > >re 模塊

re 模塊

regex 要求 arc 字符 括號 result lag 模式 span

1、re.match  

  re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()返回none。

  re.match(pattern,string,flags=0)

最常規的匹配

  import re

  content =‘hello 123 4567 World_This is a Regex Demo‘

  result = re.match(‘^hello\s\d[4]\s\w[10].*Demo$‘)

  print(result)

  print(result.group())

  print(result.span())

 泛匹配

 import re

content =‘hello 123 4567 World_This is a Regex Demo‘

 result =re.match(‘^hello.*Demo$‘,content)

print(result)

print(result.group())  //結果

  匹配目標

  import re

content =‘hello 123 4567 World_This is a Regex Demo‘

  result=re.match(‘^Hello\s(\d+)\sWorld.*Demo$‘,content)

  print(result.group(1)) //取第一個小括號中的內容。

貪婪匹配

  import re

 content =‘hello 123 4567 World_This is a Regex Demo‘

  result =re.match(‘^He.*(\d+).*Demo$‘,content)

  print(result。group(1)) // 結果 7

 

非貪婪匹配   

  import re

 content =‘hello 123 4567 World_This is a Regex Demo‘

  result =re.match(‘^He.*?

(\d+).*Demo$‘,content)

  print(result.group(1)) //結果1234567

  匹配模式

  import re

 content =‘Hello 123 4567 World_This

       is a Regex Demo‘ //有換行

result =re.match(‘^He.*?(\d+).*?Demo$‘,content,re.S) //可以匹配換行符

  print(result.group(1)) //1234567

轉義

  import re

 content =‘price is $5.00‘

   result = re.match(‘price is $50.00‘,content)

print(result) //結果 None

  轉

  import re

 content =‘price is \$\5.00‘

   result = re.match(‘price is $50.00‘,content)

print(result)

2、re.search

  re.search 掃描證兒歌字符串並返回第一個成功的匹配

  import re

  content = ‘Extra strings Hello 12345678 World_This is a Regex Demo Extra strings‘

  result = re.search(‘Hello.*?(\d+).*?Demo‘,content) //對開頭沒有必要的要求

  print(result.group(1))

3、re.findall

  搜索字符串,搜索所有符合條件的字符串。

re 模塊