寻找正则表达式

时间:2013-04-17 00:16:47

标签: c# regex string

我正在寻找以下条件的正则表达式:

输入 - 任意长度的字符串

输出 - 如果字符串包含完全2个大写字符,则返回true或字符串包含完全2位数字。

真实案例

SS22

S5834534P

1ffgdfjdfS2

虚假案件

123SSS

SSSSSS

+++ ++++ 1 1 ++++ 3

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

egrep '^(([^A-Z]*[A-Z][^A-Z]*[A-Z][^A-Z]*)|([^0-9]*[0-9][^0-9]*[0-9][^0-9]*))$' test.txt

这个想法是,如果你想找到恰好两个字符的匹配项,你需要找到以下字符串:

  • 开始
  • 0或更多错误的字符(例如,不是数字)
  • 正好需要一个字符(数字)
  • 0或更多错误的字符(不是数字)
  • 正好需要一个字符(数字)
  • 0或更多错误的字符(不是数字)
  • 结束

修改

缩短形式:

egrep '^(([^A-Z]*([A-Z][^A-Z]*){2})|([^0-9]*([0-9][^0-9]*){2}))$' test.txt