#regex
Вопрос:
Я пытаюсь извлечь слова из конца строки, если строка содержит определенную фразу, используя регулярное выражение.
Например, у меня есть эти строки:
Web Mode .............................. Enable
Secure Web Mode.............................Enable
AP Fallback ................................ Enable
И я хотел бы найти строки, начинающиеся, "Web Mode"
например, с, и если строка начинается с "Web Mode"
, я хотел бы сопоставить слово в конце строки, которое в данном случае есть "Enable"
.
Я смог сопоставить начало строки примерно так:
^Web Mode.*
но я застрял на этом этапе, есть какие-нибудь идеи?
Комментарии:
1.Вот так?
^Web Mode . (S )$
regex101.com/r/5UxDR8/12. @Thefourthbird: Опубликуйте это как ответ
Ответ №1:
Для примера данных вы можете использовать группу захвата для сопоставления Enable
^Web Mode . (S )$
Шаблон совпадает:
^
Начало строкиWeb Mode
Совпадение буквально сопровождается пробелом.
Сопоставьте 1 или более вхождений точки(S )
Сопоставьте символ пробела с 1 символами без пробелов в группе 1$
Конец строки
Смотрите демонстрацию регулярных выражений
Ответ №2:
Воспользуйся
^Web Mode.*bKw $
См.Доказательство регулярного выражения.
объяснение
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
Web Mode 'Web Mode'
--------------------------------------------------------------------------------
.* any character except n (0 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
b the boundary between a word char (w) and
something that is not a word char
--------------------------------------------------------------------------------
K match reset operator
--------------------------------------------------------------------------------
w word characters (a-z, A-Z, 0-9, _) (1 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
$ before an optional n, and the end of the
string