Завершите шаблон регулярного выражения строкой - PullRequest
0 голосов
/ 11 февраля 2020

все. Я потратил некоторое время на изучение регулярных выражений, но, в конце концов, есть проблема, которую я не могу решить должным образом.

Предположим, что следующая 'строка' (html -extract):

"{'2018-05-02', '2018-01-05', r, '2018-07-01', '2017-07-02', '2016-07-31' random_text XYCCC Letters and 55565798 ]}"

Мое намерение состоит в том, чтобы извлечь все значения из '2018-05-02' ... в (и исключая) random_text. Я попытался добиться этого, выбрав структуру «что угодно, но не», чтобы достичь этого [^a] (не a):

\'[^random]*

Вышеприведенное не делает работу, потому что random - это не строка, а набор символов, следовательно, 'r' в строке разделит мое извлеченное значение.

Если в тексте нет слова r перед словом random_text, это будет нормально работать:

\'[^r]*

Есть ли способ включить указанную c строку в качестве конца моей последовательности. например,

начало: \' повторяющиеся символы в отличие от строки: [^{my_string}]*

Цените любые идеи:)

1 Ответ

2 голосов
/ 11 февраля 2020

Это регулярное выражение выполнит свою работу:

'.+'(?= random)

Просто замените random на строку, которую вы хотите исключить в конце.

Демонстрация и объяснение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...