Предположим, у нас есть строка вроде:
text text MinorAlleleCount:G=0.4627/56166 text text text
Я использую это регулярное выражение:
/(MinorAlleleCount)[^\s]+/
Который возвращает:
MinorAlleleCount:G=0.4627/56166
Но я бы хотел исключить шаблон (MinorAlleleCount) для возврата:
G=0.4627/56166
Можно ли это сделать, не прибегая к зиЬзЬг ()?
Вы можете использовать это регулярное выражение, чтобы иметь ваш матч:
MinorAlleleCount:\K\S+
Он выполняет ту же работу, что и с положительным взглядом, но гораздо меньшими шагами.
Если вы хотите убедиться, что MinorAlleleCount:
не начинается в середине слова, как в SomethingMinorAlleleCount
, вы можете добавить слово границы (\b
) в начале, как это:
\bMinorAlleleCount:\K\S+
$re = '/MinorAlleleCount:\K\S+/';
$str = 'text text SomeMinorAlleleCount:G=0.4627/56166 text text text';
preg_match_all($re, $str, $matches);
$matches
будет содержать G=0.4627/56166
Пытаться этот:
(?<=MinorAlleleCount:)\S+
(?<=)
положительный взгляд за
\S+
один или несколько не пропусков