2024-09-26 04:44:27 发布
网友
我在创建一个匹配组来使用python从一个字符串中提取两个值时遇到了困难
以下是我的意见:
# SomeKey: Value Is A String
我希望能够使用python match group/regex语句提取SomeKey和{}。以下是我目前所掌握的情况
SomeKey
必须提供要匹配的字符串:
import re line = "# SomeKey: Value Is A String" mg = re.match(r"# ([^:]+): (.*)", line) >>> print mg.group(1) SomeKey >>> print mg.group(2) Value Is A String
或者,要自动获取键和值的元组,可以执行以下操作:
DEMO
对于名字,您可以:
mg = re.match(r"# (?P<key>[^:]+): (?P<value>.*)", line) print mg.group('key')
除非您的实际用例更加复杂,否则您可以使用findall将值直接解压到相应的变量中:
findall
import re line = "# SomeKey: Value Is A String" key, val = re.findall(r"# (.*?): (.*)$", line)[0] # (key, val) == ('SomeKey', 'Value Is A String')
必须提供要匹配的字符串:
或者,要自动获取键和值的元组,可以执行以下操作:
^{pr2}$DEMO
对于名字,您可以:
DEMO
除非您的实际用例更加复杂,否则您可以使用
findall
将值直接解压到相应的变量中:相关问题 更多 >
编程相关推荐