【发布时间】:2019-10-08 19:50:06
【问题描述】:
我目前有一个用于匹配 SQL 查询结果的正则表达式:[^\\n]+(?=\\r\\n\\r\\n\(1 rows affected\))。但是,它没有按预期工作....
'\r\n----------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------\r\nCS: GPS
on Date.
\r\n\r\n(1 rows affected)\r\n'
我从上面的表达式中得到的是Date,而我想匹配CS: GPS on Date. 如果有前导和后跟空格就可以了……没有什么 Python 的修剪无法处理的。如何更改我的正则表达式以正确完成匹配?
提前致谢。
编辑:我使用的 Python 版本是 Python 3.6
【问题讨论】:
-
我在您的标签中添加了 python,但最好指定您正在使用的版本。
-
\n和\r实际上是文本还是它们在您收到的输出中实际上是换行符(您的输出实际上是输出换行符还是文字子字符串\n)?此外,您的积极前瞻是静态的,还是结果中有时会有更多\r\n? -
@ctwheels 单个逗号内的任何内容都是纯文本
-
((?:(?!\\n|(?<=\\)n)[\s\S])+?)\s*\\r\\n\\r\\n\(1 rows affected\)适合您吗?使用中见here
标签: python regex regex-lookarounds