2017-08-01 1 views
0


Je veux faire correspondre un commentaire multiligne avec regex. Le type de commentaire est:Comment faire correspondre un commentaire multiligne avec regex

/* 
    This is a comment. 
*/ 

J'essaie ce code:

\/\*(.*?)\*\/ 

L'image problème est here.
Merci.

+0

Quel outil ou la langue que vous utilisez? –

+0

Je fais un paquet de grammaire pour ** Atom éditeur de texte **. C'est la langue est ** CoffeeScript **. –

+1

Je ne suis pas familier avec Atom regex, mais le problème semble être que votre regex ne fonctionne pas en mode multiligne. Si vous pouvez comprendre comment faire la regex multiline, cela devrait fonctionner. –

Répondre

0

En fonction du moteur d'expressions régulières que vous utilisez, différentes règles s'appliquent lors de la comparaison avec plusieurs chaînes de caractères.

En supposant que vous utilisez PCRE (en PHP), ce modèle ne correspond pas car par défaut le . dans PCRE ne correspond pas aux caractères de nouvelle ligne. Utilisez this pattern pour correspondre aux nouvelles lignes aussi:

\/\*\s?(.*)\s?\*\/ 

Vous pouvez également use your original pattern et spécifier le mode /s (ligne unique), mais dans ce cas, les plus grands et résidus miniers des sauts de ligne seront capturés aussi bien.

+0

Cela ne fonctionne pas. –

+0

Lorsque je clique sur le lien, cela fonctionne pour moi ... – marekful

+0

Dans le lien ne fonctionne pas. Mais dans l'éditeur de texte Atom ne fonctionne pas. –

0

Ce regex devrait trouver tous les commentaires:

\/\*\n((.*?)\n)+\*\/ 
+0

Cela ne fonctionne pas. –

0

Le problème a été résolu!
I en utilisant ce code:

{ 
     'begin': '\\/\\*' 
     'end': '\\*\\/' 
     'name': 'comment.block.documention.mylanguage' 
},