2016-05-26 4 views
-2

Я хотел бы регулярное выражение, чтобы соответствовать подстроку «Type I», а не «Type II»подстроки регулярное выражение матч

Использование PHP

следующие работы для одного случая, но я бегу его в цикле и не во всех случаях заканчиваются словом границы

preg_match('/Type I\b/', $string) 

набор данных желаемого результата:

Type I #pass 
Type I, #pass 
, Type I, #pass 
Type II #fail 
Type II, #fail 
, Type II, #fail 
+0

Я не понимаю ваш вопрос, каков ваш вклад и ваш ожидаемый результат? –

+0

что такое набор данных? – rock321987

+0

Но ваш шаблон '/ Type I \ b /' работает правильно. не так ли? https://regex101.com/r/hF0wP2/1 соответствует «Тип I» и НЕ «Тип II» ... –

ответ

1

https://regex101.com/r/fH9yV2/1

$re = "/Type I(?!I)/"; 

Это занимает ваш Type I, и утверждает, что следующий символ не является другой I.

Подробнее о lookaround утверждений: http://www.regular-expressions.info/lookaround.html

Похоже, что вы только начинаете понимать регулярное выражение. Я предлагаю вам взглянуть на вышеуказанный веб-сайт больше, так как это отличный инструмент для обучения регулярному выражению.

+0

Находки были тем, что мне было нужно – cbourn

Смежные вопросы