Regex для поиска первой и последней даты в строке: выходные данные 31.12.2008 и 01.12.2008 - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть строка даты, разделенная запятыми, и мне нужно извлечь из нее первую и последнюю дату с помощью регулярных выражений.Например: (День = 31.12.88: понедельник - 31.12, 30.12.2008: воскресенье - 30.12, 29.12.2008: суббота - 29.12, 28.12.2008: пятница - 12/ 28, 27.12.2008: четверг - 27 декабря, 26.12.2017: среда - 26 декабря, 25.12.2008: вторник - 25 декабря, 24.12.2008: понедельник - 12/24, 23.12.2008: воскресенье - 23.12.2012, 22.12.2008: суббота - 22.12, 21.12.2017: пятница - 21.12, 20.12.2008: четверг - 20.12.12/ 19/2018: среда - 19 декабря, 18/12/2018: вторник - 18 декабря, 17 декабря 2008 года: понедельник - 17 декабря, 12 декабря 2008 года: воскресенье - 16 декабря, 12 декабря/ 2018: суббота - 15/12, 14/12/2018: пятница - 14/12, 13/12/2018: четверг - 13/12, 12/12/2018: среда - 12/12, 12/11/2018: Вторник - 12/11, 12/10/2018: понедельник - 12/10, 12/9/2018: воскресенье - 12/09, 12/8/2018: суббота - 12/08, 12/7/2018: пятница- 12/07, 12/12/2018: четверг - 12/06, 12/12/2018: среда - 12/05, 12/4/2018: вторник - 12/04, 03/12/2018: понедельник - 12/ 03, 12/2/2018: воскресенье - 12/02, 12/1/2018: суббота - 12/01).

Хорошо иметь 2 регулярных выражения.Я смог получить первое значение, используя '\ = (. *?):' Второе значение немного сложнее и мне нужна помощь в поиске регулярного выражения для него.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 22 февраля 2019

Строки поиска регулярных выражений:

  1. Первая дата: '\ = ([^,] *):'
  2. Последняя дата: '([^, ^ \ s] ): [^,] $ '

И код примера JavaScript:

var str = '(Day = 12/31/2018:Monday - 12/31 , 12/30/2018:Sunday - 12/30 , 12/2/2018:Sunday - 12/02 , 12/1/2018:Saturday - 12/01 ).';
var rg1 = /\=([^,]*):/;
var rg2 = /([^,^\s]*):[^,]*$/;
var match1 = rg1.exec(str);
var match2 = rg2.exec(str);
alert('First date is = "' + match1[1] + '", last date is "' + match2[1] + '"');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...