我有一个类似于以下字符串的字符串:

'My substring1. My substring2: My substring3: My substring4'

理想情况下,我的目标是使用Pythonregex从这个字符串中提取‘my subing2’.然而,我也会对类似的结果感到满意.我的底线2:‘

到目前为止,我能够提取出

'. My substring2: My substring3:'

使用

"\.\s.*:"

Alternatively, I have been able to extract - by using Wiktor Stribiżew's solution that deals 使用 a somewhat similar problem posted in How can i extract words from a string before colon and excluding \n from them in python using regex -

'My substring1. My substring2'

specifically 使用

r'^[^:-][^:]*'

然而,经过多个小时的搜索和try (我对regex还很陌生),我一直无法将两个结果组合到一个有效的regex表达式中,该表达式将从我前面提到的字符串中提取‘my subing2’.

如果有人能帮我找出正确的正则表达式来提取‘my subing2’,那我就再好不过了.谢谢!

推荐答案

您可以使用非贪婪正则表达式(带?):

import re

s = "My substring1. My substring2: My substring3: My substring4"

print(re.search(r"\.\s*(.*?):", s).group(1))

打印:

My substring2

Python相关问答推荐

比较两个二元组列表,NP.isin

仅从风格中获取 colored颜色 循环

如何使用Jinja语法在HTML中重定向期间传递变量?

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

查找两极rame中组之间的所有差异

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

2D空间中的反旋算法

使用groupby Pandas的一些操作

如何创建一个缓冲区周围的一行与manim?

为一个组的每个子组绘制,

当我try 在django中更新模型时,模型表单数据不可见

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

python中的解释会在后台调用函数吗?

Django—cte给出:QuerySet对象没有属性with_cte''''

AES—256—CBC加密在Python和PHP中返回不同的结果,HELPPP

幂集,其中每个元素可以是正或负""""

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?

导入错误:无法导入名称';操作';

如何在Python中使用Iscolc迭代器实现观察者模式?

为什么我的scipy.optimize.minimize(method=";newton-cg";)函数停留在局部最大值上?