我正在尝试构建一个Python正则表达式,该表达式采用满足以下要求的单词:
前缀单词(必须位于新行的开头(:"(数字("(一个空格,一个数字,然后是 5 个空格(
单词的后缀:"(空格(
示例输入:
Id Name State
----------------------------------------------------
1 VM1 running
2 VM2 running
3 KVM3 running
输出: {VM1, VM2, KVM3}
我对正则表达式很陌生,到目前为止我得到的是:
re.findall("(?<!S)S+(?!S)")
这让我的单词以:">
"以下正则表达式返回示例数据中的所有 VM 名称。 它将返回以数字开头的行上的任何名称。
这是 Regex101.com 的解决方案。 您可以将 Regex101.com 用作测试解决方案的游乐场。 它还为您提供有关如何解释您输入的正则表达式的指导。
正则表达式^s+?d+s+([^s]+)
^
从字符串和任何后续行的开头开始。s+?
匹配可选的前导空格d+
匹配任意位数s+
匹配任意数量的空格([^s]+)
捕获由空格分隔的整个字符串