У меня есть следующее регулярное выражение, которое я пытаюсь обнаружить #x, x - число. Я смог заставить его работать, когда вокруг матча нет ничего, но если это произойдет, то он сломается. может ли кто-нибудь помочь мне в том, как сделать эту работу в обоих направлениях?php regex для обнаружения #number
/(\G|\s+|^)#(\d+)((?=\s+)|(?=::)|$)/i
, который будет работать с линией
This is a test #1234 end test
, но это не будет работать с
This is a test #1234end test
This is a test#1234 end test
This is a test.#1234 end test
This is a test #1234. End test
кого знают, что нужно изменить, чтобы достичь этого?
редактирование, я пытаюсь разрешить что угодно, кроме буквенно-цифровой в третьей группе, прямо сейчас есть :: и пробелы. есть способ объединить их в 1 и не обнаруживать буквы или цифры
Почему бы просто не использовать '/ # (\ d +) /'? – anubhava
Ваша попытка подсказывает, что у вас есть некоторые отрицательные случаи. Что ** не ** вы хотите совместить? – bishop