RegEx для захвата всего между двумя строками, но избегайте запятых

Здравствуйте, сообщество Stackru Пожалуйста, просмотрите следующую распечатку:

Как вы можете видеть, я фиксирую все между <title> а также </title> скобки, но я хочу избежать запятых, которые могут существовать в тексте.

В настоящее время я получаю:

Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4", 3/8" &amp; 1/2" Drive Monster Green

что я хочу получить:

Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4" 3/8" &amp; 1/2" Drive Monster Green

Мне нужна команда регулярных выражений в одну строку, которая делает это для меня. Есть идеи?

Это команда regex, которую я использую:

(?<=<title\>)(.*?)(?=\s*\<)

Пример текста:

<title>Kincrome K1500G - Tool Workshop Contour 472 Piece 15 Drawer 1/4", 3/8" &amp; 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>))

https://regex101.com/r/PPb1ba/1

Другие вопросы по тегам