正则表达式:>?=?\ d {4}:它匹配什么?
问题描述:
在C#类中,我遇到了这个正则表达式:正则表达式:<?>?=? d {4}:它匹配什么?
<?>?=?\d{4}
很明显,它的最后一部分(\d{4}
)匹配4位小数但是<?>?=?
怎么样?它匹配什么?
感谢您的任何解释。
答
四个数字位于<
,>
和=
前面的零位或一次。
匹配度:
<>=1234
>=1234
=1234
1234
<=1234
答
表达式'<?>?=?'
与'<'char(或没有)匹配,可能后跟'>',可能后跟'='。因此,所有以下的将匹配:
- ''
- '<'
- '>'
- '='
- '<>'
- '< =' '
- '='
- '<>''
答
问号后的字符使其可选的,所以它的任何组合,其中的每个字符可存在或不匹配:
- <> =
- < >
- < =
- <
- > =
- >
- =
它可能意味着以匹配自己的任何三个大字的,但你宁愿使用[<>=]?
代替。
@adorablepuppy - 我想OP解释了\ d {4}'所以他们没有打扰:) – manojlds 2011-06-15 05:17:32
@adorablepuppy:我选择回答这个问题,而不仅仅是标题... – Guffa 2011-06-15 05:43:15
@Guffa,正如我上面所说的,我只是认为表达完整的正则表达式是一个更好的答案。这又说了,你的答案也是正确的,霍华德也是如此。我给了你们每个人有答案的投票。我的评论并不打算冒犯任何人。相反,这意味着向回答者表示感谢,并给出一个很好的答案。我会删除我原来的评论。 – adorablepuppy 2011-06-15 13:35:21