Wenn Sie die Klammern nicht in die Übereinstimmung einbeziehen wollen, ist hier die Regex: (?<=\[).*?(?=\])
Schlüsseln wir es auf
El .
passt auf jedes Zeichen, außer auf Zeilenabschlüsse. Die ?=
es un positive Vorausschau . Ein positiver Lookahead findet eine Zeichenkette, wenn eine bestimmte Zeichenkette nach ihr kommt. Die ?<=
es un positive Rückschau . Ein positives Nachschlagen findet eine Zeichenfolge, wenn ihr eine bestimmte Zeichenfolge vorausgeht. Um zu zitieren こん ,
Vorausschauend positiv (?=)
Finden Sie den Ausdruck A, auf den der Ausdruck B folgt:
A(?=B)
Blick hinter das Positive (?<=)
Finde Ausdruck A wo Ausdruck B vorausgeht:
(?<=B)A
Die Alternative
Wenn Ihre Regex-Engine keine Lookaheads und Lookbehinds unterstützt, dann können Sie die Regex \[(.*?)\]
um das Innenleben der Klammern in einer Gruppe zu erfassen, und dann können Sie die Gruppe nach Bedarf bearbeiten.
Wie funktioniert diese Regex?
Die Klammern fassen die Zeichen in einer Gruppe zusammen. Die .*?
erhält alle Zeichen zwischen den Klammern (mit Ausnahme von Zeilenabschlüssen, es sei denn, Sie haben die Option s
Flag aktiviert) auf eine Weise, die nicht gierig ist.