J'ai cette chaîne ici: Je veux faire correspondre à plusieurs lignes et faire correspondre les instructions SQL (toutes, il y aura beaucoup dans 1 grande chaîne) ... quelque chose comme ça, mais je ne reçois pas seulement une correspondance sur note: j'essaie d'accomplir cela en Java si cela compte. p> p> créer un index unique index555 sur code> p>
5 Réponses :
Découvrez les différents drapeaux pouvant être transmis à Pattern.comPILE . Je pense que dotall est celui dont vous avez besoin. P>
vous voudrez utiliser le Motif.dotall drapeau pour correspondre à travers les lignes. P>
check Ce
L'expression régulière. Correspond à n'importe quel caractère sauf un terminateur de ligne sauf si le drapeau DOTALL est spécifié p> blockQuote>
Vous devez donc faire quelque chose comme ça p>
xxx pré> p>
Vous devez utiliser des drapeaux DOTALL et MULTILINE lors de la compilation d'une expression régulière. Voici un exemple de code Java: La sortie sera la suivante: p>
vous avez seulement besoin de dotall
Le drapeau dotall code> laisse le . code> correspondez à de nouvelles lignes neuves, mais si vous l'appliquez simplement à votre regex existant, vous finirez par correspondre à tout correspondant à partir du premier Créez code> au dernier ; code> en une fois. Si vous souhaitez faire correspondre les instructions individuellement, vous devrez faire plus. Une option consiste à utiliser un quantificateur non gourmand: Pattern p = Pattern.compile("(?i)\\bCREATE\\b[^;]+;");