Python 正则表达式提取以特定条件开头的子字符串之间的行
Python regex extract lines between substrings that start with certain criteria
我已对其进行编辑以使其更加清晰并提供解决方案。
我想使用正则表达式在子字符串中搜索以字符 --
开头的文本,并提取该行之后的所有文本。我已经成功地将这两个部分分开工作(1. 子字符串搜索和 2. --
搜索),我只是不确定如何有效地组合这些。我有一个字符串 -
qry = '''
with
qry_1 as ( -- some text
SELECT ID,
NAME
FROM ( ... other code...
),
qry_2 as (
SELECT coalesce (table1.ID, table2.ID) as ID,
NAME
FROM (...other code...
),
qry_3 as (
-- some text
SELECT id.WEATHER AS WEATHER_MORN,
ROW_NUMBER() OVER(PARTITION BY id.SUN
ORDER BY id.TIME) AS SUN_TIME,
id.RAIN,
id.MIST
FROM (...other code..
-- some other text
)
'''
- 我可以在这里通过
re.findall
提取子查询信息-
sub = re.findall('\),\s{2,}(.*?)as\s\(',qry)
- 以及特殊字符搜索
re.findall(r'--+(.*)(.\s)',qry)
- 最终用于在字符串之间搜索评论。
但是如何成功合并第3步呢?
在此感谢指导
第 3 步成功运行
commentary = [re.findall(r'--+(.*)(.\s)', i)
for i in re.findall('\),\s{2,}(.*?)as\s\(',qry,flags=re.S)]
我已对其进行编辑以使其更加清晰并提供解决方案。
我想使用正则表达式在子字符串中搜索以字符 --
开头的文本,并提取该行之后的所有文本。我已经成功地将这两个部分分开工作(1. 子字符串搜索和 2. --
搜索),我只是不确定如何有效地组合这些。我有一个字符串 -
qry = '''
with
qry_1 as ( -- some text
SELECT ID,
NAME
FROM ( ... other code...
),
qry_2 as (
SELECT coalesce (table1.ID, table2.ID) as ID,
NAME
FROM (...other code...
),
qry_3 as (
-- some text
SELECT id.WEATHER AS WEATHER_MORN,
ROW_NUMBER() OVER(PARTITION BY id.SUN
ORDER BY id.TIME) AS SUN_TIME,
id.RAIN,
id.MIST
FROM (...other code..
-- some other text
)
'''
- 我可以在这里通过
re.findall
提取子查询信息-
sub = re.findall('\),\s{2,}(.*?)as\s\(',qry)
- 以及特殊字符搜索
re.findall(r'--+(.*)(.\s)',qry)
- 最终用于在字符串之间搜索评论。
但是如何成功合并第3步呢?
在此感谢指导
第 3 步成功运行
commentary = [re.findall(r'--+(.*)(.\s)', i)
for i in re.findall('\),\s{2,}(.*?)as\s\(',qry,flags=re.S)]