如何在Python中从这个长字符串中提取STOP_DATE
值?你知道吗
GROUP = TEMPORALINFORMATION
OBJECT = PRODUCTIONDATETIME
NUM_VAL = 1
VALUE = "2015-07-19T18:29:43Z"
END_OBJECT = PRODUCTIONDATETIME
OBJECT = START_DATE
NUM_VAL = 1
VALUE = "2015-07-11T20:17:22Z"
END_OBJECT = START_DATE
OBJECT = STOP_DATE
NUM_VAL = 1
VALUE = "2015-07-11T21:03:52Z"
END_OBJECT = STOP_DATE
END_GROUP = TEMPORALINFORMATION
如其他人所示,您可以将其作为一个单行正则表达式来执行,但这更清楚:
您可以使用以下正则表达式:
Python命令:
其中
test_str
是字符串的名称。你知道吗结果是:
Try it online.
Sven的答案并没有那么精确,我的模式将运行快5倍,并且可以省略
DOTALL
标志:STOP_DATE[^"]+"([^"]+)
性能提升来自于使用两个贪婪的“否定捕获类”而不是dots。你知道吗
由于所需的子字符串是紧跟在
STOP_DATE
后面的唯一双引号值,因此双引号是唯一需要标识的字符。你知道吗如果您的实际数据有其他双引号的值,并且您需要指定
VALUE
,那么您可以使用:STOP_DATE[^"]+VALUE[^"]+"([^"]+)
,但是所需的步骤会膨胀到我以前模式的2.5倍(但仍然比Sven的快2倍)。你知道吗相关问题 更多 >
编程相关推荐