Я пытаюсь извлечь строку из предложения, встроенного в теги HTML <b></b>
, также встроенного в круглые скобки ( ) .
Я могу сделать это с помощью следующего кода
const regExp = /\(([^)]+)\)/
// fetches the string within parentheses
let string = regExp.exec('This is some (<b>super cool</b>) text I have here')
// output = '<b>super cool</b>
// removes the html tags
let string2 = string.replace(/<[^>]*>?/gm, '')
// output = 'super cool'
Проблема в том, что у меня иногда есть предложения с несколькими наборами скобок. Приведенный выше код извлекает только первый экземпляр скобок, и они могут или не могут быть в пределах тегов <b></b>
1016 *
, то есть строка
This is (some) (<b>super cool</b>) text I have (here)
вернет some
, используя тот же код выше, но я хочу вернуть super cool
Как мне пройти всю строку, чтобы извлечь только текст, который находится внутри (<b>
и </b>)
?
РЕДАКТИРОВАТЬ
Я забыл упомянуть (извинения), может быть текст, который находится между закрывающим тегом </b>
и закрывающей скобкой )
. Например,
This is some (<b>super cool</b> groovy) text I have here
, что добавляет немного сложности (в противном случае я мог бы использовать split()
и pop()