PHP中的条件preg_match

时间:2011-03-09 15:56:48

标签: php regex conditional preg-match

尝试/[^fF\d+\s+]?[AF]?[\s+]?(\d+(\.\d{1,2})?-\d+(\.\d{1,2})?)/

想要匹配:

AF11-16 
AF 11-16
11-16
16.5-100

但不匹配:

f3.5-5.6
F3.5-5.6
f 3.5-5.6
F 3.5-5.6

想要提取焦距范围,如11-16

不知道如何使用条件子模式,任何想法? THX!

2 个答案:

答案 0 :(得分:1)

^(?:af)?\s?([\d.]+)-([\d.]+)$

这个适用于您的数据集as you can see here

答案 1 :(得分:0)

而不是

\d+

使用

\d{2,}

将匹配两个或更多数字。

/[^fF\d+\s+]?[AF]?[\s+]?(\d{2,}(\.\d{1,2})?-\d{2,}(\.\d{1,2})?)/