использование:
\*\*(.[^*]*)\*\*
Объяснение:
\*\* // match two *'s
(. // match any character
[^*] // that is not a *
*) // continuation of any character
\*\* // match two *'s
в классе символов "[]" "^" имеет значение только в том случае, если это первый символ. так что (.*)
соответствует чему-либо, (.[^*]*)
соответствует любому, пока не будет буквально *
edit : в ответ на комментарии, соответствующие звездочке (например, **bold *text**
), вам нужно будет использовать не жадное совпадение:
\*\*(.*?)\*\*
классы символов - более эффективные, не жадные совпадения, но невозможно группировать внутри класса символов ( см."Скобки и обратные ссылки ...")