У меня есть следующие данные:номер захвата между двумя пробелами (RegEx)
SOMEDATA .test 01/45/12 2.50 THIS IS DATA
, и я хочу, чтобы извлечь номер 2.50 из этого. Мне удалось сделать это с помощью следующих регулярных выражений:
(?<=\d{2}\/\d{2}\/\d{2})\d+.\d+
Однако это не работает для ввода, как это:
SOMEDATA .test 01/45/12 2500 THIS IS DATA
В этом случае, я хочу, чтобы извлечь номер 2500.
Я не могу представить правило регулярного выражения для этого. Есть ли способ извлечь что-то между двумя пробелами? Итак, извлеките текст/число после даты до следующего пробела? Все, что я знаю, это то, что дата всегда будет иметь тот же формат, и после текста всегда будет пробел, а затем пробел после числа, которое я хочу извлечь.
Может кто-нибудь помочь мне в этом?
Есть ли у вашей линии текст «ЭТО ДАННЫЕ»? –
@SebastianProske, который отлично работает. Спасибо. Можете ли вы объяснить, что вы там делаете с помощью \ d + (. \ D +)? – user2606751
@ user2606751: Посмотрите мой комментарий к текущему ответу. Главное, что ваше регулярное выражение не является «правильным», поскольку точка не отображается. Вы должны использовать его так, как показывает Дмитрий, иначе вы не сможете сопоставить однозначные значения, например 'SOMEDATA .test 01/45/12 2 ДАННЫЕ ДАННЫЕ'. –