【发布时间】:2010-06-08 16:33:30
【问题描述】:
我正在使用 sql 将信用卡号替换为 xxxx,并发现 REGEX_REPLACE 并不能始终替换所有内容。下面是我在 SQL 上使用的 SET 命令
SET COMMENTS_LONG =
REGEXP_REPLACE (COMMENTS_LONG,'\D[1-6]\d{3}.\d{4}.\d{4}.\d{3}(\d{1}.\d{3})?|\D[1-6]\d{12,15}|\D[1-6]\d{3}.\d{3}.?\d{3}.\d{5}', ' XXXXXXXXXXXXXXXX')
之前
伊丽莎白要求更改地址。5430-6000-2111-1931 A
之后
伊丽莎白要求更改地址 XXXXXXXXXXXXXXXX1 A
我尝试增加 X 的数量,但结果是一样的。我还发现我必须在第一个 X 前面放一个空格,因为它似乎向左移动了 1 个字符。
【问题讨论】:
-
冒昧地对格式进行了一些改进,希望您不要介意。
-
如果您将您的信用卡号码数据库通过电子邮件发送给我,我会看看我能做什么...... ;)
标签: regex