2301_79537224 2023-12-01 17:28 采纳率: 50%
浏览 6

Python简单正则表达式

匹配有连续相同子母的单词,模式f里为什么有加上+,这样的话会不会匹配上abab

img

  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2023-12-01 18:05
    关注
    • 试炼您的通配表达式

      img


      \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}")
     
    

    • 正则通配表达中的“+”是“至少匹配一次”的意思

      img



      r'\w+',其中“\w”表示匹配所有非标点及特殊符号的“单词”,即大小写字母和中文。如:

      img


      如图所见,“\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}")
    
    

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月1日

悬赏问题

  • ¥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 设计一个温度闭环控制系统