RegEx для сопоставления строки между некоторыми символами? - PullRequest
0 голосов
/ 04 мая 2019

Я хотел бы получить текст от (символа / символов) к другому (символу / символам), исключая искомые символы (означающие все, что находится между двумя поисковыми терминами, но не включая их)

Напримерэтот текст

href="https://old.reddit.com/user/TKayOKAY"> class="author"

с использованием регулярного выражения /user/(.*?)"/g вернул "user / TKayOKAY" "

Как удалить user/ и " в концедвойные кавычки, чтобы получить только имя пользователя?

в основном возвращает >> TKayOKAY, например.

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

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

(?<=/user/)(.*?)(?=")

Regex Demo

ИЛИ вы можете получить свои данные из группы 1, используя свой собственный регулярное выражение, упомянутое в вашем посте.

/user/(.*?)"

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

Эта демонстрация покажет ваш предполагаемый захват текста в настоящее время в группе 1

0 голосов
/ 04 мая 2019

Я бы так решил

/ user / ([Az] +)

Я исключил "общие" выражения типа ". *", Чтобычтобы избежать тонких проблем.Если вы видите, что строка содержит только буквы, ищите только буквы.

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