Я пытаюсь захватить все символы между несколькими экземплярами звездочек, разделенных запятой в строке. Вот пример строки:
checkboxID0*,*checkboxID1*,&checkboxID2&,*checkboxID3*,!checkboxID4!,checkboxID5*
Предостережение в том, что фраза должна начинаться и заканчиваться звездочкой. Я смог приблизиться с помощью следующего регулярного выражения, однако он не будет отбрасывать совпадений, если в захваченной строке отсутствует звездочка , начинающаяся с *1006* (*):
let str = "checkboxID0*,*checkboxID1*,&checkboxID2&,*checkboxID3*,!checkboxID4!,checkboxID5*"
const regex = /[^\,\*]+(?=\*)/gi;
var a = str.match(regex)
console.log(a) // answer should exclude checkboxID0 and checkboxID5
Ответ возвращает следующее, однако « checkboxID0 и checkboxID5 » следует исключить, так как он не начинается со звездочки.
[
"checkboxID0",
"checkboxID1",
"checkboxID3",
"checkboxID5"
]
Спасибо, заранее!