Tenho a seguinte frase:
Preciso destacar/colocar em negrito os caracteres entre **, conforme mostrado no texto de exemplo abaixo:
Meu texto de exemplo:
**Usos:** use cogumelos ralados em **caranguejo, bolos, rolinhos de lagosta ou refogados**.
Rendimento desejado:
** Usos: ** Use cogumelos ralados em ** caranguejos, bolos, rolinhos de lagosta ou refogados **.
Código que escrevi:(?<=\*\*)(.+?)(?=\*\*)
Este código está mudando todas as palavras para negrito. O que estou esquecendo?
Estou usando o Adobe InDesign, que usa o Boost flavor de regex. A maioria dos códigos escritos no Notepad++ rodam no Indesign.
Eu não usaria a Look Around para tal trabalho.
\*\*(.+?)\*\*
<bold>$1</bold>
Mude
<bold>
para o queindesign
for usado para caracteres em negrito.Experimente esta expressão regular:
Ele assume que as palavras a serem colocadas em negrito seguem ou precedem diretamente os asteriscos. Você pode precisar adicionar alguns outros caracteres (vírgulas, ponto e vírgula, etc...) entre os colchetes.
Eu encontrei uma solução. Aqui está o código.
(?<=\*\*)(?:(?!\s\*\*).)*?(?=\*\*)
Isso funciona perfeitamente.