RegEx для захвата всего между двумя строками, но избегайте запятых
Здравствуйте, сообщество Stackru Пожалуйста, просмотрите следующую распечатку:
Как вы можете видеть, я фиксирую все между <title>
а также </title>
скобки, но я хочу избежать запятых, которые могут существовать в тексте.
В настоящее время я получаю:
Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4", 3/8" & 1/2" Drive Monster Green
что я хочу получить:
Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4" 3/8" & 1/2" Drive Monster Green
Мне нужна команда регулярных выражений в одну строку, которая делает это для меня. Есть идеи?
Это команда regex, которую я использую:
(?<=<title\>)(.*?)(?=\s*\<)
Пример текста:
<title>Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4", 3/8" & 1/2" Drive Monster Green</title>
Я использую Kantu Browser Automation для извлечения названия некоторых веб-страниц. Имейте в виду, что я очищаю всю веб-страницу HTML.
Если это невозможно сделать, то как насчет соответствия до первой запятой, а затем возврата, например, вернуть это:
Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4"
Спасибо за ваше время.
1 ответ
Как упоминалось в комментариях, регулярное выражение не может изменить сопоставленный текст, оно просто соответствует чему-то или нет.
Если вы хотите остановить совпадение с первой запятой, а не включать все остальные со снятыми запятыми, вы можете использовать это:
(?<=<title\>)(.*?)(?=(,|\s*<\/title>))