我想对下面的代码应用正则表达式,这样我就可以删除逗号和单词“AS”之间出现的任何字符串。
Select customer_name, customer_type, COUNT(*) AS volume\nFROM table\nGROUP BY customer_name, customer_type\nORDER BY volume DESC\nLIMIT 10
预期输出:
Select customer_name, customer_type, volume\nFROM table\nGROUP BY customer_name, customer_type\nORDER BY volume DESC\nLIMIT 10
我尝试了下面的,但没有给予所需的输出
result = re.sub(r",\s*COUNT\(\*\)\s*AS\s*\w+", "", text)
2条答案
按热度按时间fumotvh31#
您可以使用捕获组并在替换中使用该组。
说明
(,\s*)
捕获组1,匹配逗号和可选空格字符[^,]*
匹配除逗号以外的任何字符\sAS\b\s*
匹配一个空格字符,然后AS
后跟可选空格Regex demo|Python demo
输出
1hdlvixo2#
我会用途:
这将打印:
这里使用的正则表达式模式表示匹配:
,
一个逗号\s*
可选空格\S+
非空白术语\s+
一个或多个空白字符AS
文字“AS”\b
字边界\s*
更多可选空格