雪白七七子111 发表于 2022-4-25 19:56:43

求助 这段正则是什么意思

obj = re.compile('.*?共(?P<shuliang>.*?)条记录',re.S)

isdkz 发表于 2022-4-25 20:18:06

. :匹配任意字符,* :匹配 0 次到多次,* 后面的 ?:尽可能少匹配

(?P<shuliang>.*?) :命名分组,给子组命个名,既可以跟普通的子组一样用序号访问,也可以用命名访问

>>> obj = re.compile('.*?共(?P<shuliang>.*?)条记录',re.S)
>>> obj.sub('\g<shuliang>2', '共1条记录')
'12'
>>> obj.search('共1条记录').group('shuliang')
'1'
>>> obj.search('共1条记录').group(1)
'1'
>>> obj.sub('\g<1>2', '共1条记录')
'12'
>>>

kaohsing 发表于 2022-4-26 09:03:34

.匹配除换行符之外的任意字符

雪白七七子111 发表于 2022-4-26 14:52:12

isdkz 发表于 2022-4-25 20:18
. :匹配任意字符,* :匹配 0 次到多次,* 后面的 ?:尽可能少匹配

(?P.*?) :命名分组,给子组命个名 ...

谢谢大佬,后面的代码好像没有使用到这个命名的分组

obj = re.compile('.*?共(?P<shuliang>.*?)条记录',re.S)
    url1_re_quantity = obj.findall(url1_re.text)

    yeshu = url1_re_quantity
    yeshu = int(int(yeshu)/15)

isdkz 发表于 2022-4-26 14:53:44

雪白七七子111 发表于 2022-4-26 14:52
谢谢大佬,后面的代码好像没有使用到这个命名的分组

后面不会用到你可以不命名,直接用 '.*?共(.*?)条记录'

雪白七七子111 发表于 2022-4-26 19:31:36

isdkz 发表于 2022-4-26 14:53
后面不会用到你可以不命名,直接用 '.*?共(.*?)条记录'

懂了懂了 谢谢大佬
页: [1]
查看完整版本: 求助 这段正则是什么意思