wake-up-neo.com

Regex ersetzt Großbuchstaben durch Kleinbuchstaben

Ich versuche, Großbuchstaben mit entsprechenden Kleinbuchstaben durch Regex zu ersetzen ..__

EarTH:   1,
MerCury: 0.2408467,
venuS:   0.61519726,

wird

earth:   1,
mercury: 0.2408467,
venus:   0.61519726,

in erhabenem Text. Wie kann ich Buchstaben nur in Wörtern verwenden, die sowohl Klein- als auch Großbuchstaben enthalten? Damit betrifft es venUs und nicht VENUS.

152
leemour

Du darfst:

Suchen: (\w) Ersetzen durch: \L$1

Oder wählen Sie den Text aus, ctrl+K+L.

313
Alex K.

Ich dachte mir, dass dies auch für andere nützlich sein könnte:

finden: 

  • ([A-Z])(.*)

ersetzen:

  • \L$1$2 -> konvertiert alle Buchstaben in $1 und $2 in Kleinbuchstaben
    ABER
  • \l$1$2 -> konvertiert nur den ersten Buchstaben von $1 in Kleinbuchstaben und lässt alles andere unverändert

Dasselbe gilt für Großbuchstaben mit \U und \u.

95
dGo

Bevor Sie mit regulären Ausdrücken wie [A-Z] suchen, sollten Sie die case sensitive Taste drücken (oder Alt+C) (als leemour freundlich vorgeschlagen in der akzeptierten Antwort bearbeitet werden). Um es klar zu machen, lasse ich ein paar andere Beispiele:

  1. Großschreibung Wörter
    • Suchen: (\s)([a-z]) (\s stimmt auch mit neuen Zeilen überein, d. H. "VenuS" => "VenuS")
    • Ersetzen: $1\u$2
  2. Wörter ohne Großbuchstaben
    • Suchen: (\s)([A-Z])
    • Ersetzen: $1\l$2
  3. Remove camel case (z. B. cAmelCAse => camelcAse => camelcase)
    • Suchen: ([a-z])([A-Z])
    • Ersetzen: $1\l$2
  4. Kleinbuchstaben in Wörtern (z. B. Kleinbuchstaben => Kleinbuchstaben)
    • Suchen: (\w)([A-Z]+)
    • Ersetzen: $1\L$2
    • Alternatives Ersetzen: \L$0
  5. Großbuchstaben in Wörtern (z. B. Großbuchstaben => Großbuchstaben)
    • Suchen: (\w)([A-Z]+)
    • Ersetzen: $1\U$2
  6. Vorheriger Großbuchstabe (z. B. Großbuchstabe => Großbuchstabe)
    • Suchen: (\w+)([A-Z])
    • Ersetzen: \U$1$2
  7. Vorherige Kleinbuchstaben (z. B. LOWERCase => lowerCase)
    • Suchen: (\w+)([A-Z])
    • Ersetzen: \L$1$2
  8. Rest in Großbuchstaben (z. B. Großbuchstaben => Großbuchstaben)
    • Suchen: ([A-Z])(\w+)
    • Ersetzen: $1\U$2
  9. Rest in Kleinbuchstaben (z. B. Kleinbuchstaben => Kleinbuchstaben)
    • Suchen: ([A-Z])(\w+)
    • Ersetzen: $1\L$2
  10. mschalt-Rechts-Großbuchstaben (z. B. case => cAse => caSe => casE)
    • Suchen: ([a-z\s])([A-Z])(\w)
    • Ersetzen: $1\l$2\u$3
  11. mschalt-Links-Großbuchstabe (z. B. Fall => CaSe => CAse => Fall)
    • Suchen: (\w)([A-Z])([a-z\s])
    • Ersetzen: \u$1\l$2$3

In Bezug auf die Frage (passen Sie Wörter mit mindestens einem Groß- und einem Kleinbuchstaben an und machen Sie sie zu Kleinbuchstaben) Leemours Kommentar-Antwort ist die richtige Antwort . Nur um zu verdeutlichen, ob es nur eine zu ersetzende Gruppe gibt, können Sie in den inneren Gruppen einfach ?: verwenden (d. H. nicht erfasste Gruppen ) oder das Erstellen überhaupt vermeiden:

  • Suchen: ((?:[a-z][A-Z]+)|(?:[A-Z]+[a-z])) OR ([a-z][A-Z]+|[A-Z]+[a-z])
  • Ersetzen: \L$1

2016-06-23 Bearbeiten

Tyler schlug durch Bearbeiten dieser Antwort einen alternativen Suchausdruck für # 4 vor:

  • (\B)([A-Z]+)

Gemäß Dokumentation sucht \B nach einem Zeichen, das sich nicht an der Wortgrenze befindet (d. H. Nicht am Anfang und nicht am Ende). Sie können die Schaltfläche Alle ersetzen verwenden, und dies funktioniert genauso, als hätten Sie (\w)([A-Z]+) als Suchausdruck.

Der Nachteil von \B ist jedoch, dass es keine einzelnen Ersetzungen zulässt, möglicherweise aufgrund der Einschränkung find "nicht begrenzt" (bitte bearbeiten Sie diese, wenn Sie den genauen Grund kennen ).

73
Armfoot

Regulären Ausdruck

Finde : \w+

Ersetzen Sie : \L$0

Sublime Text verwendet die Perl-kompatiblen regulären Ausdrücke (PCRE) Engine aus der Boost-Bibliothek, um reguläre Ausdrücke in der Suche zu aktivieren Platten.

\L Wandelt alles in Kleinbuchstaben um

$0 Gruppen erfassen

2
BadTudou

Versuche dies

  • Suchen: ([A-Z])([A-Z]+)\b
  • Ersetzen: $1\L$2

Stellen Sie sicher, dass die Groß-/Kleinschreibung aktiviert ist (Alt + C)

0
Vignesh Kumar A

In BBEdit funktioniert das (zB: die ID-Werte in Kleinbuchstaben ändern):

Suchen Sie nach einem beliebigen Wert: <a id="(?P<x>.*?)"></a> Ersetzen Sie ihn in Kleinbuchstaben: <a id="\L\P<x>\E"></a>

War: <a id="VALUE"></a> Wurde: <a id="value"></a>

0