匹配有连续相同子母的单词,模式f里为什么有加上+,这样的话会不会匹配上abab
3条回答 默认 最新
- 梦幻精灵_cq 2023-12-01 18:05关注
- 试炼您的通配表达式
\b是单词边界。
python代码
from re import findall text = '''I have two feet, it has one foot. She's singing a song. canada bananas''' result = findall(r'(\b\w*(?P<f>\w+)(?P=f)\w*\b)', text) print(f"\n文本:\n{text}\n\nre通配表达式:r'\w+'\nre.findall函数匹配结果:\n{result}")
- 正则通配表达中的“+”是“至少匹配一次”的意思
r'\w+',其中“\w”表示匹配所有非标点及特殊符号的“单词”,即大小写字母和中文。如:
如图所见,“\w+”匹配出来了文本中的中英文“单词”,对于没有空格分隔的中文“单词”,“\w”会显得力不从心。虽然我们一般不会用它来匹配中文文本,但也一定要明白,它可以匹配到“中文字符”。
当您在疑惑代码的“含义”时,最好好的“干法”就是——寻其“知识点出处”,以证其源;将代码放真实语言环境下run一下。😊😊😊
上面截屏图片的python代码
from re import findall text = '''I'm DreamElf_cq. I'm in ChongQing, and I love Python. I learn it every day. 我是“梦幻精灵_cq”,我在重庆,我喜欢Python。我每天都在学习她。''' result = findall(r'\w+', text) print(f"\n文本:\n{text}\n\nre通配表达式:r'\w+'\nre.findall函数匹配结果:{result}")
解决 无用评论 打赏 举报 编辑记录 - 试炼您的通配表达式
悬赏问题
- ¥100 求懂行的大ge给小di解答下!
- ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
- ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
- ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
- ¥100 华为手机私有App后台保活
- ¥15 sqlserver中加密的密码字段查询问题
- ¥20 有谁能看看我coe文件到底哪儿有问题吗?
- ¥20 我的这个coe文件到底哪儿出问题了
- ¥15 matlab使用自定义函数时一直报错输入参数过多
- ¥15 设计一个温度闭环控制系统