C++正则表达式:隐藏银行卡号倒数第5-8位数字,卡号的长度不是定长(16或19位),所以只能倒数.

发布网友

我来回答

4个回答

热心网友

正则表达式: \d{4}(?=\d{4}$)
替换字符串: ****

热心网友

这个问题不需要使用正则表达式吧
把这个数据倒序
然后影藏第5-8位数字就可以了

热心网友

[0-9]{19}

热心网友

#include<regex>
#include<string>
#include<iostream>
int main(){
    std::string s{"567867760123445678"};
    std::regex rgx("[\\d]{4}([\\d]{4})$");
    auto ss=regex_replace(s,rgx,"****$1");
    std::cout<<ss<<std::endl;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com