0

我在构建这个正则表达式时遇到了麻烦。我需要一个与以下模式匹配的 strpos 或 preg_match :00x00.其中 '0' 是任意数字,x 是大写或小写,然后是句点。

我知道我可以为数字做 \d,但不知道如何指定两个或更多数字。我知道我可以为大写或小写的“x”做 [xX],但我迷失了这个时期。

我试过这个:

preg_match ( '/\\d[xX]\\d\./', $string )

但这行不通。

我更喜欢用 strpos 来做,但两者都可以。

编辑 - 期间是可选的;它只是增加了安全性。但我不确定是否可以匹配它,不知道“x”和句点之间有多少个数字。

4

1 回答 1

1

像这样:\d{2,}[Xx]\d{2,}\.将匹配两个或多个数字,一个x(忽略大小写)和两个数字和一个句点。

如果这就是您想要匹配的全部内容,我建议您添加锚标签:^\d{2,}[Xx]\d{2,}\.$. 这将指示正则表达式引擎完全匹配。

简而言之,这\d{2,}[Xx]\d{2,}\.将匹配foo bar 000X00 foo bar,但是 this:`^\d{2,}[Xx]\d{2,}\.$将仅匹配000X00而没有其他匹配(因此对于我之前的示例它将失败)。

于 2013-10-21T05:08:02.130 回答