liuliu2 发表于 2022-8-5 15:07:31

求助,为什么是出来这个?

>>> str1='达式由一些特定的字符组成,每个字符有不同的含义,编写正则表达式就是利用这些字符组合出用于匹配特定字符串的规则。将编写好的正则表达式与爬取到的网页源代码进行对比,就能筛选出符合要求的字符串。Python内置的re模块可以处理正则表达式。组成正则表达式的字符分为两种基本类型:普通字符和元字符。普通字符包含所有大写和小写字母、所有数字、所有标点符号和一些其他符号。常用普通字符的含义见下表。[插图]元字符是指在正则表达式中具有特殊含义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式,使正则表达式具有处理能力。常用元字符的含义见下表。'
>>> print(re.findall('^的',str1))
[]

问题:为什么出来的是[]?

青出于蓝 发表于 2022-8-5 15:16:08

^:匹配一行的开头

wp231957 发表于 2022-8-5 15:19:07

你期望弄出啥来呢

liuliu2 发表于 2022-8-5 15:21:48

wp231957 发表于 2022-8-5 15:19
你期望弄出啥来呢

不是取非么,去掉“的”的文字

wp231957 发表于 2022-8-5 15:24:18

liuliu2 发表于 2022-8-5 15:21
不是取非么,去掉“的”的文字

不是非的意思,你从哪里看到的

你要去掉所有的    的字应该:re.sub("的","",str1)

liuliu2 发表于 2022-8-5 15:30:52

wp231957 发表于 2022-8-5 15:24
不是非的意思,你从哪里看到的

你要去掉所有的    的字应该:re.sub("的","",str1)

可以通过在字符数组开头使用 ^ 字符实现取反操作,从而可以反转一个字符组(意味着会匹配任何指定字符之外的所有字符)。https://codejiaonang.com/#/course/regex_chapter1/0/7

太贵啦 发表于 2022-8-6 12:01:00

不是非的意思

qq1151985918 发表于 2022-8-6 13:23:11

print(re.findall('[^的]',str1))
页: [1]
查看完整版本: 求助,为什么是出来这个?