У меня проблемы с преобразованием текста в тег с помощью регулярных выражений

У меня есть образец текста в моем div.content

 Это ваш самый первый контент с Contentful, извлеченный в формате JSON с использованием [Content Delivery API](https://www.contentful.com/developers/docs/references/content-delivery-api/ "Content Delivery API"). 
Контент и презентация теперь разделены, что позволяет вам сосредоточить свои усилия на создании идеального приложения.
## Ваши первые шаги Создать с Contentful легко. Сначала найдите немного времени, чтобы получить [основы моделирования содержимого](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "основы моделирования содержимого"), которые вы можете настроить в [Содержательное веб-приложение](https://app.contentful.com/ "Содержательное веб-приложение").
Как только вы это получите, не стесняйтесь заглянуть в [Documentation](https://www.contentful.com/developers/docs/ "Documentation"), чтобы узнать немного больше о том, как создать ваше приложение с Contentful, в частности, [Основы API](https://www.contentful.com/developers/docs/concepts/apis/ "Основы API") и каждый из наших четырех API, как показано ниже.

Я хочу получить все строки, как это:

 [основы моделирования содержимого](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "основы моделирования содержимого") 

из этого текста и заменить их ссылкой

и вставьте в HTML теги

<a href="https://www.contentful.com/r/knowledgebase/content-modelling-basics/ ">the basics of content modelling</a>

Я использую это регулярное выражение

let pattern = /\[(.*?)\]\((.*?)\)/gmi

1 ответ

Решение

Ваш шаблон отсутствует, что () содержит как URL, так и строку в кавычках. Добавлять \s\".*?\" по вашему шаблону - \s соответствует пробелу, вы можете опустить его, если хотите оставить пробел в конце URL

let pattern = /\[(.*?)\]\((.*?)\s\".*?\"\)/gm;

let text = `These is your very first content with Contentful, pulled in JSON format using the [Content Delivery API](https://www.contentful.com/developers/docs/references/content-delivery-api/ "Content Delivery API").
 Content and presentation are now decoupled, allowing you to focus your efforts in building the perfect app.


## Your first steps

Building with Contentful is easy. First take a moment to get [the basics of content modelling](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "the basics of content modelling"), which you can set up in the [Contentful Web app](https://app.contentful.com/ "Contentful Web app"). 
Once you get that, feel free to drop by the [Documentation](https://www.contentful.com/developers/docs/ "Documentation") to learn a bit more about how to build your app with Contentful, in particular the [API basics](https://www.contentful.com/developers/docs/concepts/apis/ "API basics") and each one of our four APIs, as shown below.`

let result = text.replace(pattern, '<a href="$2">$1</a>')

console.log(result)

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