Добрый день,
есть регулярное выражение которое вытаскивает из определенных строк содержимое но в одном случае не совсем корректно
Регулярка:
<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.
Как написать регулярку что бы она вытаскивала в 1 группу либо строку в "" либо '' если строка в одинарных кавычках???
и еще вопрос в этой регулярке встречается [\s""'], зачем там вторые кавычки " разве не так должно быть [\s"']
UPDATE:
Я чуток поигрался и получилось сделать как я хочу вот только оно теперь создает это в другую группу
<meta[\s]+[^>]*?name[\s]?=[\s"']description[\s"']+content[\s]?=[\s"]+(.*?)["]|content[\s]?=[\s']+(.*?)[']+.*?>
То есть если кавычки "" то добавляет в первую группу, а если '' то во вторую. Можно как то сделать что бы оно в любом случае переносило то что мне нужно в первую группу. Добавил скрин для понимания о чем я