Python正则表达式:查找缺少句点的行
我在找一个正则表达式,用Python实现,能够匹配这段文本
WHERE PolicyGUID = '531B2310-403A-13DA-5964-E2EFA56B0753'
但不匹配这段文本
WHERE AsPolicy.PolicyGUID = '531B2310-403A-13DA-5964-E2EFA56B0753'
我这样做是为了在一大段SQL代码中找到开发者没有明确提到表名的地方。我只想打印出那些有问题的行(上面第一个WHERE子句)。除了正则表达式,其他代码我都已经写好了。
4 个回答
0
像这样的代码在Java、C#、JavaScript中都能用,我想你也可以把它改成Python的格式:
/WHERE +[^\.]+ *\=/
0
在编程中,有时候我们需要处理一些数据,可能是从文件中读取,或者是从网络上获取。这些数据通常是以特定的格式存在的,比如文本、数字或者其他类型的结构化数据。
当我们获取到这些数据后,可能需要对它们进行一些操作,比如筛选、排序或者计算。这就需要用到一些编程技巧和方法。
有些时候,数据的格式可能会让我们感到困惑,特别是当我们不太熟悉这些格式的时候。这时候,我们可以借助一些工具或者库来帮助我们更轻松地处理这些数据。
总之,处理数据是编程中非常重要的一部分,掌握这些基本的操作和技巧,可以让我们在编写程序时更加得心应手。
>>> l
["WHERE PolicyGUID = '531B2310-403A-13DA-5964-E2EFA56B0753' ", "WHERE AsPolicy.P
olicyGUID = '531B2310-403A-13DA-5964-E2EFA56B0753' "]
>>> [line for line in l if re.match('WHERE [^.]+ =', line)]
["WHERE PolicyGUID = '531B2310-403A-13DA-5964-E2EFA56B0753' "]
2
re.compile('''WHERE [^.]+ =''')
这里的 [] 表示“匹配一组字符”,^ 的意思是“不是”,而点号是一个字面上的句点。+ 代表“一个或多个”。
这就是你想要的内容吗?