Я знаю, что это, вероятно, глупый вопрос, но я застрял, пытаясь понять, как заставить preg_match_all делать то, что я хочу...
Я хочу сопоставить строки, которые выглядят как ‹[someText]> Кроме того, я хотел бы сделать это ленивым способом, поэтому, если у меня есть строка, подобная
$myString = '<[someText]> blah blah blah <[someOtherText]> lala [doNotMatchThis] ';
Я хотел бы иметь 2 совпадения: '‹[someText]>' и '‹[someOtherText]>', а не одно совпадение '‹[someText]> бла-бла-бла ‹[someOtherText]>'
Я пытаюсь сопоставить это со следующим шаблоном
$pattern = '<\[.+?\]>';
но по какой-то причине я получаю 3 совпадения: [someText], [someOtherText] и [doNotMatchThis]
Это заставляет меня поверить, что по какой-то причине угловые скобки мешают, что я нахожу странным, потому что они не должны быть метасимволами.
Что я делаю неправильно?