У меня есть эта строка кода:PHP preg_match_all строка начинается с @ подчиняющегося любым символом
preg_match_all('/(?!\b)(@\w+\b)/', $s, $rgMatches);
$ s является длинная строка (включая пробелы) для поиска, $ rgMatches является массивом совпадений
Эта строка кода будет соответствовать строкам, таким как @blahblah или @ blah22blah Однако, если строка содержит @ blah.blah (точка среди букв), она не совпадает.
Как я могу улучшить свой код?
Почему вы пишете '(?! \ B)' в начале? –
@CasimiretHippolyte это точно, но его можно удалить, без проблем, вторая часть должна быть исправлена –
Уверен, что? Что ты пытаешься сделать? вы пытаетесь найти пользователей, но не электронную почту? –