首页 > 软件 > Python中group是函数还是方法

Python中group是函数还是方法

软件 2023-08-23

如何用python正则?

(1)re.match()函数

re.match 尝试从字符串的开始匹配一个模式。

函数语法:

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

函数参数说明:

参数

描述

pattern 匹配的正则表达式

string 要匹配的字符串。

flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

匹配成功re.match方法返回一个匹配的对象,否则返回None。

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

匹配对象方法

描述

group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。


(2)re.research()函数

re.search匹配整个字符串,直到找到一个匹配。

函数语法:

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

函数参数说明:

参数

描述

pattern 匹配的正则表达式

string 要匹配的字符串。

flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

匹配成功re.search方法方法返回一个匹配的对象,否则返回None。

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

匹配对象方法

描述

group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

(3)实例

我这里采用re.search()函数解决的问题。

测试数据集为购物网站用户评论

实例代码:

[python]view plaincopy

  • #-*-coding:utf-8-*-

  • importsys

  • importre

  • reload(sys)

  • text=open('JD_DFB_comments.txt')

  • line=text.readline()

  • #i=0

  • whileline:

  • #i=i+1

  • #re.search匹配整个字符串,直到找到一个匹配。

  • n1=re.search(r'(要(是|能)(.*)就(更|好|再|直观|完美|太)(.*)了)',line)

  • n2=re.search(r'(如果)(.*)就(更|好|再|直观|完美|太)(.*)了',line)

  • #打开将要写入的数据

  • data=open('aa.txt','a')

  • ifn1:

  • #printline

  • data.write(line)#写入匹配到的数据

  • #printi记录匹配结果所在的行数

  • #printn1.group()#等于printline

  • printn1.group(3)#打出第三个括号里的内容

  • ifn2:

  • #printn2.group()

  • printn2.group(2)

  • line=text.readline()

  • text.close()

  • 阅读更多

个人分类:Python语言

想对作者说点什么?我来说一句

Python中re的match、search、findall、finditer区别

python group函数有几个返回值

一个,返回的是符合正则表达式的字符串。 group(0)返回整个字符串; group(1)返回第一个匹配值; group(2)返回第二个匹配值; group(3)返回第三个匹配值。 依次类推。

python 常用的系统函数有哪些

1.常用内置函数:(不用import就可以直接使用) help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str) 表示合法的python表达式,返回这个表达式 dir(obj) 查看obj的name space中可见的name hasattr(obj,name) 查看一个obj的name space中是否有name getattr(obj,name) 得到一个obj的name space中的一个name setattr(

python函数

参数match是正则表达式匹配后的结果,match.group(1)就是返回结果1。

importre
m=re.search('(^.+?)\n(.+?$)','print"111"\nprint"222"')
printm.group(1)#print"111"

eval()一般是用来执行字符串代码,也就是命令注入。

其中的参数code:就是要执行的代码,比如print "111"
其中的参数scope:是code执行范围的字典.

由于匹配的字符串代码经常有格式对齐等问题,所以加一个try except来捕捉。

exec跟eval类似,可以执行代码,但是只是一个语法,没有返回值。

exec code in scope就是执行code作用范围为scope字典

Python中的常用内置函数有哪些呢?

(1)Lambda函数

用于创建匿名函数,即没有名称的函数。它只是一个表达式,函数体比def简单很多。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了。

Lamdba的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

利用Lamdba函数,往往可以将代码简化许多。

(2)Map函数

会将一个函数映射到一个输入列表的所有元素上,比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素。

我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简。

(3)Reduce函数

当需要对一个列表进行一些计算并返回结果时,reduce()是个非常有用的函数。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现。

它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数,而map接收一个参数。

(4)enumerate函数

用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。

它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号。

(5)Zip函数

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表

当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。


标签:信息技术 python Python入门 函数 编程

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18