我正在寻找以下条件的正则表达式:
输入 - 任意长度的字符串
输出 - 如果字符串包含正好 2 个大写字符或字符串包含正好 2 个数字,则返回 true。
真实案例
SS22
S5834534P
1ffgdfjdfS2
虚假案件
123SSS
SSSSSS
+++1++++1++++3
谢谢您的帮助。
egrep '^(([^A-Z]*[A-Z][^A-Z]*[A-Z][^A-Z]*)|([^0-9]*[0-9][^0-9]*[0-9][^0-9]*))$' test.txt
这个想法是,如果你想找到恰好两个字符的匹配项,你需要找到具有以下内容的字符串:
编辑
较短的形式:
egrep '^(([^A-Z]*([A-Z][^A-Z]*){2})|([^0-9]*([0-9][^0-9]*){2}))$' test.txt