正则表达式:<! - ? - >?=?\ d {4}:它匹配什么?

时间:2011-06-15 05:02:57

标签: c# regex

在C#类中,我遇到了这个正则表达式:

<?>?=?\d{4}  

很明显,它的最后一部分(\d{4})匹配4个十进制数字但是​​<?>?=?呢?它匹配什么?

感谢您的任何解释。

3 个答案:

答案 0 :(得分:4)

最后四位数字以<>=出现零或按顺序排列一次。

匹配度:

<>=1234
>=1234
=1234
1234
<=1234

答案 1 :(得分:3)

表达式'<?>?=?'与'&lt;'相匹配char(或none)可能后跟'&gt;'可能后跟'='。因此,以下所有内容都将匹配:

  1. ''
  2. '&LT;'
  3. '&GT;'
  4. '='
  5. '&LT;&GT;'
  6. '&LT; ='
  7. '&GT; ='
  8. '&LT;&GT; ='

答案 2 :(得分:2)

字符后的问号使其成为可选项,因此它匹配每个字符可以存在与否的任何组合:

  • &LT;&GT; =
  • &LT;&GT;
  • &LT =
  • &LT;
  • &GT; =
  • &GT;
  • =

这可能意味着自己匹配三个角色中的任何一个,但是你宁愿使用[<>=]?代替。