J'utilise la fonction de recherche et de remplacement des expressions régulières d'Atom et non du code JavaScript.
Je pensais que cette expression régulière compatible avec JavaScript fonctionnerait (je veux faire correspondre les virgules qui ont Ou plutôt
derrière elle ):
(?!\b(Or rather)\b),
?!
= Lookahead négatif
\ b
= limite du mot
(...)
= rechercher les mots dans leur ensemble et non caractère par caractère
\ b
= limite du mot
,
= le caractère réel.
Cependant, si je supprime des caractères de "Ou plutôt", l'expression régulière correspond toujours. Je suis confus.
3 Réponses :
Le motif Pour supprimer les virgules après Rechercher : Assurez-vous de sélectionner l'option Démo JS regex: (?! \ b (Ou plutôt) \ b),
est égal à ,
car le lookahead négatif renvoie toujours vrai depuis , code> n'est pas égal à
O
. Ou plutôt
dans Atom , utilisez \ b (Ou plutôt),
Remplacer par : $1
. *
pour activer les expressions régulières (et le Aa
est pour l'échange de sensibilité à la casse). \ b (Ou plutôt),
correspond
\ b
- une limite de mot (Ou plutôt)
- Groupe de capture 1 qui correspond et enregistre le texte Ou plutôt
dans une mémoire tampon accessible en utilisant $ 1
dans le modèle de remplacement ,
- une virgule. var s = "Or rather, an image.\nor rather, an image.\nor rather, friends.\nor rather, an image---\nOr rather, another time they.";
console.log(s.replace(/\b(Or rather),/g, '$1'));
// Case insensitive:
console.log(s.replace(/\b(Or rather),/gi, '$1'));
Merci d'avoir répondu. Existe-t-il un moyen de faire correspondre le ,
sans compter sur $ 1
? J'utilise la fonction de recherche et de remplacement de regex d'Atom et non le code JavaScript.
@alexchenco Eh bien, je pense que le seul moyen dans Atom est ce que j'ai montré dans la réponse.
Vous vouliez probablement utiliser une analyse positive au lieu d'une analyse négative
(?<=\b(Or rather)\b),
Vous pouvez activer lookbehind
dans atom en utilisant des indicateurs, Lire ce fil de discussion
Pour faire correspondre n'importe quelle virgule après "Ou plutôt", vous pouvez simplement utiliser (ou plutôt) (,) et accédez au deuxième groupe en utilisant match [2]
Ou une alternative serait d'utiliser ou plutôt comme un groupe non capturant (?: ou plutôt) (,) donc le premier groupe serait des virgules après "Ou plutôt"
Essayez-vous de faire correspondre
Ou plutôt
avant une virgule, ou quoi que ce soit autre queOu plutôt
avant une virgule?@TimBiegeleisen J'essaie de faire correspondre la virgule. Toute virgule qui a
Ou plutôt
derrière elle.(?: ou plutôt) (,)
Je veux faire correspondre les virgules qui ont Ou plutôt derrière
mais dans le modèle, vous utilisez un lookbehind négatif@alexchenco, vous pouvez utiliser lookbehind dans atom
read ce fil
@CodeManiac Il n'est pas nécessaire d'utiliser un regard en arrière sans ancrage dans ce scénario. Il n'y aura pas de correspondances qui se chevauchent.