J'ai ce regex ici;
\[sometag\](.*)\[/sometag\]
Ce qui est censé attraper le texte entouré par la [sometag]
balise. Cela fonctionne pour les informations sur une seule ligne contenues dans ces balises, comme sur la chaîne [sometag]this is a bit of text[/sometag]
. Mais cela ne fonctionne pas sur du texte qui s'étend sur plusieurs lignes, comme ceci;
[sometag] here is more text
it spans more than one line [/sometag]
Pour une raison quelconque, le chercheur de regex de Sublime text ne reconnaîtra pas les balises sur plusieurs lignes. Je veux savoir si cela pose un problème avec Sublime Text, une option à bascule, ou simplement mon incompétence personnelle avec les expressions régulières.
regex
tags
sublimetext
Maurdekye
la source
la source
?
après*
fera un match non gourmand. Considérez[b]foo[/b]foo[b]bar[/b]
comme exemple.\[b\].*\[\/b\]
correspondrait au tout du début b à la dernière clôture b.?
dans ce regex101.com/r/gI0xC3/2Si la modification du mode de point est inadmissible pour certaines raisons, vous pouvez prendre cela:
la source
(.|\n)+?
si vous avez accès au modificateur DOTALL. Si vous ne pouvez pas utiliser(?s)
dans certains falvor, utilisez[\s\S]
/[\d\D]
/[\w\W]
, mais pas le motif d'alternance suggéré ici. Ce modèle est très inefficace et peut facilement conduire à un problème de délai d'attente.[\s\S]
, mais en un coup d'oeil cela(.|\n)
me paraîtrait équivalent? Est-ce à voir avec les groupes correspondants? Mais alors(?:.|\n)
serait la même chose?