定制软件re.search()用法详解

re.search():匹配整个,定制软件并返回第一个成功的匹配。定制软件如果匹配失败,则返回None 

pattern: 定制软件匹配的规则,

string : 定制软件要匹配的内容,

flags 标志位 定制软件这个是可选的,就是可以不写,可以写, 比如要忽略字符的大小写就可以使用标志位

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  1. re.I 忽略大小写
  2. re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  3. re.M 多行模式
  4. re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  5. re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  6. re.X 为了增加可读性,忽略空格和 # 后面的注释

示例代码:检查字符串是否以 "Long" 开头并以 "China" 结尾

  1. import re
  2. s = "Long live the people's Republic of China"
  3. ret = re.search("^Long.*China$", s)
  4. print(ret)
  5. print(ret.group())
  6. print(ret[0])

运行结果:

 示例代码:在字符串中搜索第一个空白字符

  1. import re
  2. s = "Long live the people's Republic of China"
  3. ret = re.search("\s", s)
  4. print(ret)
  5. print(ret.start())

运行结果:

示例代码:如果search未匹配到,返回None】

  1. import re
  2. s = "Long live the people's Republic of China"
  3. ret = re.search("USA", s)
  4. print(ret)

运行结果:

 示例代码:【忽略大小写】

  1. import re
  2. s = "Long live the people's Republic of China"
  3. # ret1 = re.search('long', s) 这行代码直接报错
  4. ret1 = re.search('l', s)
  5. print(ret1)
  6. print(ret1.span())
  7. print(ret1.string)
  8. print(ret1.group())
  9. print("*" * 50)
  10. ret2 = re.search('long', s, re.I)
  11. print(ret2)
  12. print(ret2.span())
  13. print(ret2.string)
  14. print(ret2.group())

运行结果:

示例代码:【group()的使用】 

  1. import re
  2. s = 'abc123def456ghi789'
  3. ret_compile = re.compile("([a-z]*)([0-9]*)([a-z]*)")
  4. print(ret_compile)
  5. ret = ret_compile.search(s)
  6. print(ret)
  7. print(ret.group())
  8. print(ret.group(0)) # group()和group(0) 一样匹配的是整体
  9. print(ret.group(1)) # 匹配第1个小括号的内容
  10. print(ret.group(2)) # 匹配第2个小括号的内容
  11. print(ret.group(3)) # 匹配第3个小括号的内容

运行效果:

 示例代码:【group()分组的使用】

  1. import re
  2. s = 'abc123def456ghi789'
  3. ret_compile = re.compile("(?P<num1>[a-z]*)(?P<num2>[0-9]*)(?P<num3>[a-z]*)")
  4. print(ret_compile)
  5. ret = ret_compile.search(s)
  6. print(ret)
  7. print(ret.group())
  8. print(ret.group(0)) # group()和group(0) 一样匹配的是整体
  9. print(ret.group(1)) # 匹配第1个小括号的内容
  10. print(ret.group(2)) # 匹配第2个小括号的内容
  11. print(ret.group(3)) # 匹配第3个小括号的内容
  12. print("*" * 100)
  13. print(ret.group())
  14. print(ret.group("num1")) # 这里效果等同于group(1)
  15. print(ret.group("num2")) # 这里效果等同于group(3)
  16. print(ret.group("num3")) # 这里效果等同于group(3)

运行效果:

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发