Capturing group в регулярном выражении(regexp), как обрезать строку?

Добрый день,
есть регулярное выражение которое вытаскивает из определенных строк содержимое но в одном случае не совсем корректно
Регулярка:
<meta[\s]+[^>]*?name[\s]?=[\s""']description[\s""']+content[\s]?=[\s""']+(.*?)[""']+.*?>

Пример текста:
<title>Design Custom Drinkware | Deluxe.ca </title>
<meta name="description" content="Customize drinkware from thousands of cups, mugs, koozies, and water bottles from popular brands. Personalize with your logo, image, or message to create promotional gifts they'll love. "/>


Что должно делать эта регулярка:
вырезать содержимое в двойных (") или одинарных (') кавычках, и вставить его в группу
Но в данном примере оно обрезает строку на одинарной кавычке которая служит апострофом и строка заканчивается на they.
6176918d2d79b452510215.png

Как написать регулярку что бы она вытаскивала в 1 группу либо строку в "" либо '' если строка в одинарных кавычках???

и еще вопрос в этой регулярке встречается [\s""'], зачем там вторые кавычки " разве не так должно быть [\s"']

UPDATE:
Я чуток поигрался и получилось сделать как я хочу вот только оно теперь создает это в другую группу
<meta[\s]+[^>]*?name[\s]?=[\s"']description[\s"']+content[\s]?=[\s"]+(.*?)["]|content[\s]?=[\s']+(.*?)[']+.*?>


6176964da6de3841458681.png

617697bc0615f605837126.png

То есть если кавычки "" то добавляет в первую группу, а если '' то во вторую. Можно как то сделать что бы оно в любом случае переносило то что мне нужно в первую группу. Добавил скрин для понимания о чем я
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы