正则表达式解析查询输出

时间:2018-10-04 13:28:45

标签: regex expression

我需要执行元数据查询,该查询会将表列表转储到文件中。但是,我需要一种消除tableId本身之外的所有格式的方法。可以通过正则表达式来完成吗?提前感谢所有帮助。

+-------------------------------------+-------+
|               tableId               | Type  |
+-------------------------------------+-------+
| t_margins                           | TABLE |
| t_rev_test                          | TABLE |
| t_rev_share                         | TABLE |

2 个答案:

答案 0 :(得分:1)

您有一些选择,但是我建议这样:

^\| (\S+)

它将从头开始匹配一条管道,一个空格,然后匹配所有non-spacesnon-spaces将是您的tableId。这是Python中的一个小例子:

import re

my_string = '''| t_margins                           | TABLE |
| t_rev_test                          | TABLE |
| t_rev_share                         | TABLE |'''

my_list = my_string.split('\n')

for line in my_list:
    match = re.search("^\| (\S+)", line)
    print (match.group(1))

这将为您提供:

t_margins
t_rev_test
t_rev_share

答案 1 :(得分:0)

以下正则表达式仅捕获第一列的列值:

TinyMap

https://regex101.com/r/gODhra/3