Exemple :
Ceci est une \n phrase simple.
Je veux capter chaque caractère entre Ceci est simple. Les sauts de ligne doivent être ignorés. Je n’arrive pas à trouver la syntaxe correcte.
Exemple :
Ceci est une \n phrase simple.
Je veux capter chaque caractère entre Ceci est simple. Les sauts de ligne doivent être ignorés. Je n’arrive pas à trouver la syntaxe correcte.
Par exemple:
(?<=Ceci)(.*)(?=simple)
Voici le demo.
J’ai utilisé le mode « lookbehind » (?<=)
et le mode « look ahead » (?=)
pour que « Ceci » et « simple » ne soient pas inclus dans la recherche, mais cela dépend de votre cas d’utilisation, vous pouvez aussi simplement écrire Ceci(.*)simple
.
L’important ici est d’activer le mode « dotall » de votre moteur de regex, afin que le . corresponde à la nouvelle ligne. Mais la manière de procéder dépend de votre moteur de regex.
Ensuite, il s’agit de savoir si vous utilisez .*
ou .*?
Le premier est gourmand et correspondra jusqu’à la dernière « simple » de votre texte, le second est paresseux et correspondra jusqu’à la prochaine « simple » de votre texte.
Très simple:
Ceci(?s)(.*)simple
Essayez ce RegEx:
Ceci[\s\S]*?simple
, fonctionne en Javascript.
Utiliser ceci:
(?<=debut)(.*\n?)(?=fin)
Dans le cas de JavaScript, vous pouvez utiliser [^]
const s = "Ceci est une \n phrase simple.";
const regex = /Ceci([^]*?)simple/;
const res = s.match(regex);
if (res) {
console.log(res[1]);
}
Résultat:
est une
phrase