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日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了