我在构建这个正则表达式时遇到了问题。我需要一个与以下模式匹配的 strpos 或 preg_match:00x00.
其中 '0 是任何数字,x 是大写或小写,然后是一个句点。
我知道我可以对数字做''d,但不知道如何指定两个或多个数字。我知道我可以为大写或小写的"x"做 [xX],而且我对句号迷失了方向。
我试过这个:
preg_match ( '/''d[xX]''d'./', $string )
但这行不通。
我更喜欢使用 strpos 来做,但两者都很好。
编辑 - 句点是可选的;它只是增加了安全性。但我不确定是否可以匹配它,不知道"x"和句点之间有多少个数字。
像这样:'d{2,}[Xx]'d{2,}'.
将匹配两个或多个数字、一个x
(忽略大小写)以及另外两个数字和一个句点。
如果这就是您想要匹配的全部内容,我建议您添加锚标签:^'d{2,}[Xx]'d{2,}'.$
.这将指示正则表达式引擎完全匹配。
简而言之,这个'd{2,}[Xx]'d{2,}'.
将匹配foo bar 000X00 foo bar
但这个:`^'d{2,}[Xx]'d{2,}'.$
将只匹配000X00
,而没有其他任何匹配(因此对于我之前的示例,它将失败)。