查找正在更改的模式并将其替换为扩展模式

2024-09-24 02:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力学习这个正则表达式 我有一个简单的字符串,如下所示:

'<SQL>GEOMETRYTYPE = 10 AND RPAREA = 1112</SQL>'

它的号码在变,我想换一个

import re
text1 = '<SQL>GEOMETRYTYPE = 10 AND RPAREA = 1112</SQL>'
re.sub('<SQL>GEOMETRYTYPE = 10 RPAREA = '\d+,text1)

为此:

'<SQL>GEOMETRYTYPE = 10 AND RPAREA = 1112 AND NAME EXSISTS NO </SQL>'

我正在努力:

import re
text1 = '<SQL>GEOMETRYTYPE = 10 AND RPAREA = 1112</SQL>'
re.sub('<SQL>GEOMETRYTYPE = 10 RPAREA = '\d+,text1)

在RPR区域中有数千种不同的数字出现,所以搜索和替换将花费永远的时间

有什么帮助吗


Tags: andno字符串nameimportre区域sql
1条回答
网友
1楼 · 发布于 2024-09-24 02:28:08

您可以使用此正则表达式执行此操作:

<SQL>GEOMETRYTYPE\s*=\s*(\d+) AND RPAREA\s*=\s*(\d+)

它使用捕获组获取两个数值,然后可以在带有re.sub的新字符串中使用这两个数值:

sql_str = re.sub(
    r"<SQL>GEOMETRYTYPE\s*=\s*(\d+) AND RPAREA\s*=\s*(\d+)",
    "<SQL>GEOMETRYTYPE = \\1 AND RPAREA = \\2 AND NAME EXISTS NO",
    sql_str
)

相关问题 更多 >