在标签之间搜索和替换SSN

时间:2015-06-18 15:38:21

标签: regex search replace notepad++

我想搜索SSN并删除破折号。但我需要确保SSN介于两者之间

<Employee_ID>111-22-3333</Employee_ID>

而不是文件中的其他位置。有人可以帮忙,所以我最终得到了

<Employee_ID>111223333</Employee_ID>

2 个答案:

答案 0 :(得分:3)

搜索

(?<=<Employee_ID>)(\d{3})-?(\d{2})-?(\d{4})(?=</Employee_ID>)

将正则表达式作为搜索模式并替换为

$1$2$3

(?<=<Employee_ID>)lookbehind assertion,确保“<Employee_ID>”在SSN之前但未匹配。

(?=</Employee_ID>)lookahead assertion,确保“</Employee_ID>”跟随SSN但未匹配。

$x是括号中其他三个capturing groups的内容。

答案 1 :(得分:1)

查找内容: (\d{3})-(\d{2})-(\d{4})
替换为: \1\2\3

<强>解释

第一个捕获小组(\d{3})
        \d匹配数字[0-9]
        量词:{3}恰好3次 - 所以这匹配3位数

第二个捕获组(\d{2})匹配2位数字
第3个捕获组(\d{4})匹配4位数