英文:
Regex Stop capture repeated Tags
问题
我在根据标签(多个单词)在之前和之后的读数中捕获 SSN(社会安全号码)方面遇到问题。该字段是自由文本,用户可以以任何格式输入 SSN。在下面的输入中,我有两种不同的格式 XXX-XXX-XXX 和 XX-XXXXXXX。
输入字符串:
嗨,我是约翰,我的 SSN 是 111-111-111,然后我妻子的是 222-222-222,可能是 SocialNumber,我女儿的 SSN 是 :: 12.3456789,儿子的 SSN 是 33-4444444。
标签:SSN,SocialNumber
正则表达式:
String pattern = "(SSN|SocialNumber)([^\\d]*)(\\d{3}[.-]\\d{3}[.-]\\d{3})|"
+ "(\\d{3}[.-]\\d{3}[.-]\\d{3})([^\\d]*)(SSN|SocialNumber) | "
+ "(SSN|SocialNumber)[^\\d]*(\\d{2}[.-]\\d{6})|"
+ "(\\d{2}[.-]\\d{6})([^\\d]*(SSN|SocialNumber))";
代码输出:
SSN 是 111-111-111
222-222-222 可能是 SocialNumber,我女儿的 SSN
SSN 将是 33-444444
如果您查看上面的输出,它根据标签(SSN|SocialNumber)正确捕获了约翰、他妻子和儿子的 SSN,但是遗漏了女儿的 SSN。请协助解决。
期望输出:
SSN 是 111-111-111
222-222-222 可能是 SocialNumber
SSN :: 12.3456789
SSN 将是 33-4444444
英文:
I have problem in capturing the SSN based on Tags(multiple words) reading before and after. The field is freetext user can enter SSN in any format. In the below input I have 2 different format XXX-XXX-XXX and XX-XXXXXXX.
Input String:
Hi i'm John my SSN is 111-111-111, then my wife 222-222-222 might be SocialNumber and my daughter SSN :: 12.3456789 and son SSN will be 33-4444444
Tags: SSN,SocialNumber
RegeX:
String pattern = "(SSN|SocialNumber)([^\\d]*)(\\d{3}[.-]\\d{3}[.-]\\d{3})|"
+"(\\d{3}[.-]\\d{3}[.-]\\d{3})([^\\d]*)(SSN|SocialNumber) | "
+"(SSN|SocialNumber)[^\\d]*(\\d{2}[.-]\\d{6})|"
+ "(\\d{2}[.-]\\d{6})([^\\d]*(SSN|SocialNumber))";
Code Output:
SSN is 111-111-111
222-222-222 might be SocialNumber and my daughter SSN
SSN will be 33-444444
If you see the above output it captures John, his wife and Son SSN correctly based on Tags(SSN|SocialNumber) but daughter SSN is missed. Please Assist
Expected Output:
SSN is 111-111-111
222-222-222 might be SocialNumber
SSN :: 12.3456789
SSN will be 33-4444444
答案1
得分: 1
请查看下面的正则表达式:
身份证号码为 | 是 SocialNumber|\d{3}-\d{3}-\d{3}|\d{2}-\d{7}|\d{2}\.\d{7}
- 我基本上采用了两个字符串:
身份证号码为
和是 SocialNumber
。 - 以及三种格式:
ddd-ddd-ddd
或dd-ddddddd
或dd.ddddddd
在此处进行测试。
英文:
Try below regex:
SSN is | is SocialNumber|\d{3}-\d{3}-\d{3}|\d{2}-\d{7}|\d{2}\.\d{7}
- I have basically taken 2 strings:
SSN is
andis SocialNumber
. - And 3 formats:
ddd-ddd-ddd
ordd-ddddddd
ordd.ddddddd
Test here.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论