python - 如何在 SQLAlchemy 中将多个正则表达式合并为一个?

标签 python regex postgresql sqlalchemy

我正在尝试从 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/

相关文章:

python - Matplotlib 未显示 x 刻度标签

java - 数字和任意长度的正则表达式

postgresql - 如何减少 PostgreSQL 数据库的大小?

python - 通过 SSH 运行自定义 Django 管理命令

python - itertools.product() 返回值

通过消息代理进行 Java/Python 通信

regex - 将正则表达式拆分为 2 个捕获组

c# - 用于有条件地格式化数字字符串的正则表达式

sql - 如何根据事件日志表获取一天结束时每种状态的用户总数?

php - pg_connect - php 脚本从命令行工作,但不能从网页工作