Если у меня есть предложение и единицы в любом месте предложения, мне нужно извлечь единицы.Элементы соответствия в регулярном выражении
- Есть 10Ku пера
- 10ku пера
- У меня есть 10Mu пера $ 1 каждый
- У вас есть 1000 ручек на 5 каждый
- 1KU ручки
- 1 ручка
единиц могут быть Ku, ку, K, Mu, M, m, k или вообще нет единиц вообще.
Я хотел бы извлечь номер и единицы. Для приведенного выше вопроса, результаты должны быть:
- 10, Ku
- 10, ка
- 10, Mu
- 1000, нуль
- 1, ка
1, нулевой
$pattern = '/(\d+)\s*(M|m|K|k|t|T)*/'; preg_match_all($pattern, $sentence, $qty); $parsed['qty'] = $qty[1][0]; $parsed['units'] = $qty[2][0];
Спасибо,
Вы даже что-нибудь сами пробовали? – Anders
Вы не говорили о том, какие правила вам нужно выполнять в необработанной строке. Например, для «У вас 1000 ручек по 5 штук», как вы знаете, что значение, которое вы ищете, равно 1000, а не 5? Без каких-либо ограничений по этой проблеме вы не сможете найти решение. –
Я пробовал ниже, но, похоже, не работает. –