美文网首页
正则在Python中的使用

正则在Python中的使用

作者: 酷酷的图图 | 来源:发表于2018-06-20 21:47 被阅读0次

人生苦短 我用python

开始愉快的享(代)受(码)时间:

  • 注意:

1):正则表达式(RE)是一种小型的 高度专业化的编程语言 它内嵌python中 并通过re模块来实现但并非所有的字符串处理都能使用正则表达式
2):python中 可以将正则表达式编译成一个对象 re提供了一个正则表达式引擎的接口 可以让你将REstring编译成对象并用他们来进行匹配

  • 常用元字符
[ ]:   常用于指定字符集 元字符在字符集中不起作用

^ : 尖角号 通常用于匹配行首

$ :dollor符  用于匹配末尾

\ 将元字符转成普通符号的话 就用转义字符\

{8} :{}表示将前面规则重复8次

* 表示前面重复0到多次

+表示最少重复一次

?:表示可有可无 当出现在重复元字符后时表示非贪婪模式 

x|y     匹配 x 或 y

\d  匹配一个数字字符。等价于 [0-9]
\D  匹配一个非数字字符。等价于 [^0-9]

\w  匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'
\W  匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'

\s  匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]
\S  匹配任何非空白字符。等价于 [^ \f\n\r\t\v]

.   匹配除换行符 \n 之外的任何单字符 。
  • 在python中的方法使用:

导入模块 import re

import re 

pattern = re.compile(r'规则') # 将正则表达式编译成Pattern对象

pattern.match('hello world!')  # 匹配开头 如果有结果的返回一个对象

pattern.search('hello world!')  # match 只查找开头部分 search整个字符串查找 返回第一个匹配的结果

pattern.findall('one1two2three3four4') # 查找整个字符串  返回一个列表

pattern.split(''字符串'') # 可以将字符串匹配正则表达式的部分割开并返回一个列表  例如: re.split(r'[\+\-\*]', s)  按照+ - * 分割字符串s

pattern.sub('要替换的内容', '原始要被替换的内容')  #  替换

  • 示例:
import  re

pattern = re.compile(r'(\w+)')
s = "hello 123,hello 456"

#查找
s_list=pattern.findall(s)
print(s_list)
# 替换
s_list=pattern.sub('hello world',s)
print(s_list)

结果为:
['hello', '123', 'hello', '456']
hello world hello world,hello world hello world
  • :编译前1:re.findall(rule,str)即 (规则, 字符串)

  • 编译后2:re_tel = re.compile(rule,这里选填) 编译后要比编译前匹配起来的速度快很多

相关文章

  • 正则在Python中的使用

    人生苦短 我用python 开始愉快的享(代)受(码)时间: 注意: 1):正则表达式(RE)是一种小型的 高度专...

  • 认识python中的inf和nan

    认识python中的inf和nan python中的正无穷或负无穷,使用float("inf")或float("-...

  • mac python多进程报错

    如果要在命令行中执行python脚本,则在.bash_profile中添加export OBJC_DISABLE_...

  • 【iOS】iOS FrameWork的制作

    注意:如果创建的framework中使用了category类,则在使用framework的项目配置中【Other ...

  • python基础(一)

    1.变量命名规则在 Python 里,标识符由字母、数字、下划线组成。在 Python 中,所有标识符可以包括英文...

  • 使用Python重命名多个文件

    使用Python重命名多个文件 今天,我们使用的是python中的OS模块。 在python3中,rename()...

  • 使用枚举类型做为 javabean

    使用枚举类型做为 javabean 接口返回的 json 中状态一般是 Int 类型的,如果不使用枚举则在代码中不...

  • tensorflow-gpu使用

    python代码中设置使用的GPU 如果要在python代码中设置使用的GPU(如使用pycharm进行调试时),...

  • 写爬虫,不会正则怎么行?

    导读:正则在各语言中的使用是有差异的,本文以 Python 3 为基础。本文主要讲述的是正则的语法,对于 re 模...

  • 4个Python提效用法

    索引和切片 Python中获取列表中的任意元素。除了支持常见的正索引外, Python还支持负索引和切片。 正索引...

网友评论

      本文标题:正则在Python中的使用

      本文链接:https://www.haomeiwen.com/subject/prqfyftx.html