Я использую следующее регулярное выражение для следующего вида текста ниже
Регулярное выражение: [\s](rs|price)?([\s.]*\d+[\s\d.]*)(pkg|k|(?:la(?:c|kh|k)|crore|cr)s?|l)[\s.]
Текст: * * 1006
65 lac this is 55 lac. and more price 100 lac. randome text to test price45 crs. and 65 cr and to test its matching rs 3244 k like rs 55k. to its matchibg 65 cr. but not 65 cr als not matching price 123 lac more of it 55 crs.
Это не соответствует всей цене, упомянутой выше, но только немногим. Я сопоставляю цену, в которой есть пробелы до и после полного соответствия цен на регулярное выражение.
Я добавил [\s.]
в конце, чтобы соответствовать ценам, которые также заканчиваются на. и есть пробелы после него. Например, 55 крон. или 24 лака. Точно так же я добавил '[\ s]', чтобы соответствовать только той цене, которая имеет место перед соответствующей ценой.
Выход:
https://regex101.com/r/iHamwk/1/
Пример вывода 2: https://regex101.com/r/h8NLhr/5
Пример вывода 3: https://regex101.com/r/h8NLhr/8
Как мне изменить вышеприведенное регулярное выражение?
Кроме того, как извлечь совпадающие цены, исключая пробелы до и после него?
Спасибо.