Ich möchte das erste Wort in Klammern einschließen und auch alles „was“ nach dem Leerzeichen folgt, in Klammern.
(\w) (.*)
Leider funktioniert der Befehl: nicht.
Beispielsweise wird für den Satz „Wie man ein Wort abgleicht, auf das irgendetwas folgt“ die Übereinstimmung mit „w, um ein Wort abzugleichen, auf das irgendetwas folgt“ gefunden.
Antwort1
\w
stellt ein Wort darCharakter, kein Wort in dem von Ihnen gemeinten Sinne. Also ein einzelner Buchstabe, von az und AZ.
Geben Sie an, dass es Ihren Anforderungen entspricht ^(\w+) (.*)$
.
Dies lässt sich wie folgt zusammenfassen:
^
- Der Anfang einer Zeichenfolge
(
- Beginnen Sie eine Erfassungsgruppe
\w
- Alle Zeichen, die mit az oder AZ übereinstimmen
+
- Mindestens 1 oder mehr vom vorherigen Typ
)
- Beenden Sie unsere Erfassungsgruppe
- Ein Leerzeichen
(
- Beginnen Sie unsere zweite Erfassungsgruppe
.
- Alle Zeichen, die kein Zeilenumbruch sind
*
- 0 oder mehr vom vorherigen Typ
)
- Beenden Sie die Erfassungsgruppe
$
- Ende der Saite
Dies entspricht, wenn wir Ihren Beispielsatz verwenden How to match a word followed by anything
, Gruppe 1 = How
und Gruppe 2 =to match a word followed by anything
Angenommen, Sie möchten das erste Wort entfernen, können Sie jetzt \2
im Ersetzungsfeld alle Übereinstimmungen durch alles außer dem ersten Wort ersetzen.
Oder wenn Sie sich Ihren ersten Satz noch einmal ansehen und das erste Wort in Klammern setzen und dann den Rest des Satzes durch ersetzen möchten, \(\1\) \(\2\)
also , literal left parenthesis
, capture group 1
, literal right parenthesis
, space
, literal left parenthesis
, capture group 2
.literal right parenthesis