условный preg_match в PHP - PullRequest
       4

условный preg_match в PHP

0 голосов
/ 09 марта 2011

попробовал /[^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

Не знаете, как использовать условный подшаблон, есть идеи? ТНХ!

Ответы [ 2 ]

1 голос
/ 09 марта 2011
^(?:af)?\s?([\d.]+)-([\d.]+)$

Этот работает для вашего набора данных, , как вы можете видеть здесь .

0 голосов
/ 09 марта 2011

Вместо

\d+

используйте

\d{2,}

, что будет соответствовать двум или более цифрам.

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