look-behind requires fixed-width pattern_正则表达式

问题:例如我想要匹配一段文本中,字符“a”在“小猫”的前面,中间有可能间隔好几个字符,也有可能直接相邻。结果只返回“小猫”。

import re
text = "这是一只非常可爱的a的的小猫."
pattern = r"(?<=a*)小猫"
result = re.findall(pattern, text)
print(result)

如果这么写,会报错:look-behind requires fixed-width pattern

> 原因:正则引擎要求查找后顾表达式中的模式必须具有固定宽度,也就是说不能用星号,因为他可代替好几个字符。如果将星号改成“的的”,是可以匹配到小猫的

解决方案: 用Python的regex库而非内置的re库。

import regex
text = "这是一只非常可爱的a的的小猫."
pattern = r"(?<=a*)小猫"
result = regex.findall(pattern, text)
print(result)

结果:

['小猫']

相关推荐

  1. look-behind requires fixed-width pattern_表达式

    2024-04-27 03:20:02       14 阅读
  2. 表达式

    2024-04-27 03:20:02       40 阅读
  3. 表达式

    2024-04-27 03:20:02       47 阅读
  4. 表达式

    2024-04-27 03:20:02       46 阅读
  5. 【Python】表达式

    2024-04-27 03:20:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 03:20:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 03:20:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 03:20:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 03:20:02       18 阅读

热门阅读

  1. C++ Primer Plus

    2024-04-27 03:20:02       12 阅读
  2. manim

    2024-04-27 03:20:02       16 阅读
  3. Mysql索引篇

    2024-04-27 03:20:02       12 阅读
  4. 什么是prettier的glob 模式

    2024-04-27 03:20:02       15 阅读
  5. 【DataGrip】 sql语句:模糊搜索

    2024-04-27 03:20:02       14 阅读
  6. 删除有序序列中的重复项 python

    2024-04-27 03:20:02       14 阅读
  7. Jammy@Jetson Orin - Tensorflow & Keras Get Started

    2024-04-27 03:20:02       12 阅读
  8. 面试题:判断一个完全平方数

    2024-04-27 03:20:02       15 阅读
  9. Ali-Sentinel-入口控制

    2024-04-27 03:20:02       13 阅读
  10. SQL数据更新

    2024-04-27 03:20:02       12 阅读
  11. Vue-3

    Vue-3

    2024-04-27 03:20:02      11 阅读
  12. C# 面向对象编程(一)——类 第三篇

    2024-04-27 03:20:02       13 阅读