Regex remplacer les lettres majuscules par des lettres minuscules
j'essaie de remplacer les lettres majuscules par des lettres minuscules correspondantes en utilisant regex. Ainsi,
EarTH: 1,
MerCury: 0.2408467,
venuS: 0.61519726,
devient
earth: 1,
mercury: 0.2408467,
venus: 0.61519726,
en texte Sublime. Comment puis-je utiliser des lettres majuscules et des lettres minuscules uniquement dans des mots qui contiennent à la fois des lettres minuscules et des lettres majuscules? De sorte qu'il affecte venUs
et non VENUS
.
6 réponses
vous pouvez:
Rechercher: (\w)
Remplacer Par: \L
ou sélectionnez le texte, ctrl + K + L .
j'ai pensé que cela pourrait être utile pour d'autres personnes :
rechercher:
-
([A-Z])(.*)
remplacer:
-
\L
--> convertiraet
en minuscules
1519220920 mais" 1519240920 -
\l
-- > convertira seulementen minuscules et laissera
comme il est
il en va de même pour la majuscule avec \U
et \u
avant de rechercher avec regex comme [A-Z]
, vous devez appuyez sur le bouton sensible à la casse (ou Alt + C ) (comme leemour gentiment suggéré à éditer dans la réponse acceptée). Juste pour être clair, je laisse quelques autres exemples:
- majuscule mots
- Find:
(\s)([a-z])
(\s
correspond aussi à de nouvelles lignes, i.e." venuS "= > "VenuS") - remplacer:
\u
- Find:
- Uncapitalize mots
- Rechercher:
(\s)([A-Z])
- remplacer:
\l
- Rechercher:
- Supprimer camel case (p.ex. cAmelCAse => camelcAse = > camelcase)
- Rechercher:
([a-z])([A-Z])
- remplacer:
\l
- Rechercher:
- lettres minuscules comprises dans les mots (p.ex. minuscules = > minuscules)
- Rechercher:
(\w)([A-Z]+)
- remplacer:
\L
- Variante Remplacer:
\L"1519100920"
- Rechercher:
- Lettres majuscules comprises dans les mots (p.ex. majuscules = > majuscules))
- Rechercher:
(\w)([A-Z]+)
- remplacer:
\U
- Rechercher:
- majuscule antérieur (p.ex. majuscule = > majuscule)
- Rechercher:
(\w+)([A-Z])
- remplacer:
\U
- Rechercher:
- minuscule précédente (par exemple, minuscule = > minuscule)
- Rechercher:
(\w+)([A-Z])
- remplacer:
\L
- Rechercher:
- Uppercase le reste (p.ex. upperCase => upperCASE)
- Rechercher:
([A-Z])(\w+)
- remplacer:
\U
- Rechercher:
- plus bas le reste (par exemple en minuscules = > en minuscules)
- Rechercher:
([A-Z])(\w+)
- remplacer:
\L
- Rechercher:
- Shift-droit-majuscules (par exemple, Cas = > = > = > cas)
- Rechercher:
([a-z\s])([A-Z])(\w)
- remplacer:
\l\u
- Rechercher:
- Shift-gauche-majuscules (par exemple, Cas => Cas = > = > Cas)
- Rechercher:
(\w)([A-Z])([a-z\s])
- remplacer:
\u\l
- Rechercher:
concernant la question (faire correspondre mots avec au moins une majuscule et une minuscule lettre et les rendre minuscules), commentaire de leemour-réponse est la bonne réponse . Juste pour clarifier, s'il n'y a qu'un seul groupe à remplacer, vous pouvez simplement utiliser ?:
dans les groupes internes (i.e. Non capture groups ) ou éviter de les créer du tout:
- Rechercher:
((?:[a-z][A-Z]+)|(?:[A-Z]+[a-z]))
OU([a-z][A-Z]+|[A-Z]+[a-z])
- remplacer:
\L
2016-06-23 Modifier
Tyler suggéré en éditant cette réponse une autre expression de recherche pour #4:
-
(\B)([A-Z]+)
selon la documentation , \B
cherche un caractère qui n'est pas à la limite du mot (i.e. pas au début et pas à la fin). Vous pouvez utiliser le bouton pour remplacer tous les et il fait exactement la même chose que si vous aviez (\w)([A-Z]+)
comme expression de recherche.
cependant, l'inconvénient de \B
est qu'il ne autoriser les remplacements simples, peut-être en raison de la trouver 's "pas de limite" restriction (s'il vous plaît modifier cette si vous connaissez la raison exacte).
expression Régulière
Trouver : \w+
remplacer : \L"151910920 "
texte Sublime utilise les Expressions régulières Perl compatibles (PCRE) moteur de la bibliothèque Boost pour alimenter les expressions régulières dans la recherche panneau.
\L
Convertit tout en minuscules
"151930920"
groupes de Capture
Essayez cette
- Rechercher:
([A-Z])([A-Z]+)\b
- remplacer:
\L
assurez-vous que la sensibilité du cas est activée (Alt + C)
Dans BBEdit fonctionne de cette (ex.: changer les valeurs D'ID en minuscules):
chercher n'importe quelle valeur: <a id="(?P<x>.*?)"></a>
Remplacer par le même en minuscules: <a id="\L\P<x>\E"></a>
Était: <a id="VALUE"></a>
Devenu: <a id="value"></a>