data中的字符串中,我try 在第一组中捕获"fund",分别在第一组中捕获"fund*"、"Total"和"rest",然后在第二组中捕获其后的浮点数,包括其前缀符号,并在第三组中使用我的正则表达式pattern在Python3中捕获括号或括号之间的内容.

import re

if __name__ == "__main__":
    data = [
        "    - 🏊‍♂️ FUND  +145.00 [🎁 2 reached]",
        "    - 🖋 FUND*  +25.00 (⟶ Mar. 75.00/300)",
        "    - 👕 FUND   +17.49 (⟶ Apr. 300.00)",
        "    - 🔦 FUND   +36.21 (⟶ May 250.00)",
        "    - 🚗 FUND  +150.00 (⟶ Jul. 1500.00)",
        "    - 👓 FUND  +115.00 (⟶ Sep. 1000.00)",
        "    - ✒️ FUND   +11.30",
        "      ----------------",
        "         Total  500.00",
        "         Rest     0.00"
    ]
    
    pattern = r"(\w+)\s+([-+]?\d*\.?\d+)\s?([:\(\[].+[:\)\]])?"
    for d in data:
        match = re.match(pattern, d)
        print(match)

我用完全相同的数据在RegExr上测试了pattern,它在网站上运行得很好.然而,在Pythonmatch中永远是None吗?

我需要转义pattern个字符中我不知道的一些字符吗?

推荐答案

re.match判断字符串是否与从字符串开头开始的正则表达式匹配,则在not中搜索字符串内的正则表达式,因此:

re.match("bc", "abc") # -> None

您脑海中的函数可能是re.search:

re.search("bc", "abc") # -> <re.Match object; span=(1, 3), match='bc'>

Python相关问答推荐

使用SciPy进行曲线匹配未能给出正确的匹配

将jit与numpy linSpace函数一起使用时出错

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

如何让剧作家等待Python中出现特定cookie(然后返回它)?

如何访问所有文件,例如环境变量

Mistral模型为不同的输入文本生成相同的嵌入

log 1 p numpy的意外行为

在极性中创建条件累积和

如何并行化/加速并行numba代码?

如何使用Numpy. stracards重新编写滚动和?

如何在Pyplot表中舍入值

python panda ExcelWriter切换动态公式到数组公式

python sklearn ValueError:使用序列设置数组元素

polars:有效的方法来应用函数过滤列的字符串

如何在Python中自动创建数字文件夹和正在进行的文件夹?

对于数组中的所有元素,Pandas SELECT行都具有值

在使用ROLING()获得最大值时,是否可以排除每个窗口中的前n个值?

根据边界点的属性将图划分为子图

Pandas:根据相邻行之间的差异过滤数据帧

Pandas 数据框自定义排序功能