我正在尝试从 Postgres 表的列中删除空格。
我正在使用 SQLAlchemy 来完成它。
例如'some value'
应该变成'some value'
。
我的代码是:
sqlalchemy.func.regexp_replace(
# replace whitespaces with a single space
sqlalchemy.func.regexp_replace(source_column_instance, ' {2,}', ' ', 'g'),
# also remove leading and trailing whitespaces
'^ | $', '', 'g')
以上工作正常,但我想将两个正则表达式合并为一个。
最佳答案
你可以使用
sqlalchemy.func.regexp_replace(source_column_instance, '^ +| +$|( ){2,}', '\\1', 'g')
在这里,
^ +
- 匹配字符串开头的 1 个或多个空格|
- 或者+$
- 匹配字符串末尾的 1 个或多个空格|
- 或者( ){2,}
- 两次或多次将单个空格匹配并捕获到组 1 中。
替换为 \1
,向后引用第 1 组值,因此在有两个或更多空格的结果中只保留一个空格。
关于python - 如何在 SQLAlchemy 中将多个正则表达式合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58411666/