У меня есть строка, например:Как найти позицию каждой цифры в строке?
12abc3def4
Как я могу получить позицию каждой отдельной цифры в этой строке с помощью регулярных выражений?
ожидается выход:
Digit: Position
"1": 0
"2": 1
"3": 5
"4": 9
Edit:
Так мне сказали найти позицию не представляется возможным с регулярным выражением. Теперь мне нужно будет найти цифры в строке, а затем посмотреть их позицию. Проблема заключается в том, что я использую следующее регулярное выражение:
preg_match('/[\d*]/', "12abc3def4", $output)
Можно цифра не появляется более одного раза, или не появляется. Также возможно, что строка не имеет никакой цифры.
Но это только дает мне первую цифру, которая является «1», и останавливается там.
1. регулярное выражение является излишеством для этого: просто «индекс символа в строке» метод будет лучше. 2. Что вы пробовали? – Richard
Я думал, что regex - лучшее решение для таких проблем. Я надеялся сделать что-то вроде этого: preg_match ('/ [\ d *] /', "12abc3def4", $ output), но на выходе отображается только первая цифра «1» и игнорирование остальных. Не говоря уже о том, что я не знаю, может ли это дать мне позицию. – Lamar
@Lamar Добавить ^^ этот код на свой вопрос и показать, где вы застряли – Rizier123