我喜欢这个正则表达式 我有一个像这样的简单字符串:
'<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)
RPAREA中有数千种不同的数字,因此搜索和替换将永远存在。
任何帮助?
答案 0 :(得分:0)
您可以使用此正则表达式执行此操作:
<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
)