python - Python:在字符串中的某些字符后打印 4 个字符
问题描述
我需要从这一行:
CR: 0.24% RU 01.07.2021 CR: 0.44% TJ 01.07.2021 CR: 0.15% TJ 01.07.2021 CR: 0.18% TJ 01.07.2021
得到一个这样的数组:
['0.24%', '0.44%', '0.15%', '0.18%']
即得到4个字符后CR:
我试图用正则表达式来解决这个问题,并且能够在CR:
我的代码之后得到一个字符:
print(re.findall(r'CR: (\w+)', string))
在此先感谢您的帮助!
解决方案
问题\w+
在于匹配任何一个或多个字母、数字和下划线的模式(带有一些连接符标点符号和变音符号)。.
它与%
字符不匹配。
您可以使用
import re
s = "CR: 0.24% RU 01.07.2021 CR: 0.44% TJ 01.07.2021 CR: 0.15% TJ 01.07.2021 CR: 0.18% TJ 01.07.2021"
print(re.findall(r'CR:\s*(\d+(?:\.\d+)?%)', s))
# => ['0.24%', '0.44%', '0.15%', '0.18%']
您可能还会在CR:
空格后得到一个单词:
print(re.findall(r'CR:\s*(\S+)', s))
请参阅正则表达式演示。
详情:
CR:
-CR:
字符串(\b
如果要确保前面没有其他字母/数字,请在前面添加CR
)\s*
- 零个或多个空白字符(\d+(?:\.\d+)?%)
- 捕获组 1:一个或多个数字,然后是一个可选的点和一个或多个数字,然后是一个%
字符(\S+)
- 一个或多个非空白字符。
推荐阅读
- android - Flutter 更改右上角的文本位置
- sql - 如何连接具有相同 ID 但日期不同的所有不同行并将其作为具有新列(如 DATE_0、DATE_1、DATE_2...)的唯一行返回?
- path - 如何替换 PathBuf 或 Path 的文件扩展名?
- python - 通过字符串向 tkinter 按钮添加命令
- git - 如何将任何添加/删除的 git 日志显示到子目录的一级但不递归?
- python - 为与 gevent 一起使用的 gunicorn 设置 worker_connections 设置时应该考虑什么?
- angular - 在 Angular Reactive Forms、City/State 或 zip 中验证非此即彼的字段逻辑
- c# - Asp.net core 3 Web Api post请求不起作用
- python - Python:超调目标,需要向量或 PID 调整?
- python - Keras 中的输出维度过多