【发布时间】:2014-06-17 20:09:25
【问题描述】:
您好,我正在解析获取 SQL 文本和参数的 XML 文件。我需要拉动位于两个 # 符号之间的字符串。例如,如果这是我的文字:
CASE WHEN TRIM (NVL (a.SPLR_RMRK, ' ')) = '' OR TRIM (NVL (a.SPLR_RMRK, ' ')) IS NULL THEN '~' ELSE a.SPLR_RMRK END AS TXT_DESCR_J, 'PO' AS TXT_TYP_CD_J FROM #ps_RDW_Conn.jp_RDW_SCHEMA_NAME#.P_PO_RCPT_DTL a, (SELECT PO_RCPT_DTL_KEY, ETL_CRT_DTM FROM #ps_RDW_Conn.jp_RDW_SCHEMA_NAME#.#jp_PoRcptDtl_Src# WHERE ETL_UPDT_DTM > TO_DATE ('#jp_EtlPrcsDt#', 'YYYY-MM-DD:HH24:MI:SS'))
我想打印出ps_RDW_Conn.jp_RDW_SCHEMA_NAME、ps_RDW_Conn.jp_RDW_SCHEMA_NAME、jp_PoRcptDtl_Src 和jp_EtlPrcsDt。
到目前为止我的一些代码是
for eachLine in testFile:
print re.findall('#(*?)#', eachLine)
这给了我以下错误:
nothing to repeat.
非常感谢任何帮助或建议!
【问题讨论】:
-
尝试逃离
(和)(例如r'\(.*?\)')。 -
您的原始示例文本有一些换行符。现在一切都在一条线上?
-
不,它们在实际文件中的不同行