7
votes

Regex pour trouver le mot immédiatement après un mot particulier

Je veux trouver le mot immédiatement après un mot particulier dans une chaîne à l'aide d'une regex. Par exemple, si le mot est "mon",

"Ceci est ma prière" - prière

"C'est mon livre ()" - Book

est-il possible d'utiliser regex?


0 commentaires

6 Réponses :


0
votes

pour mon code>, utilisez la REGEX suivante:

my (\w+)


0 commentaires

2
votes

Vous pouvez utiliser

my\s+\b(\w+)\b


0 commentaires

8
votes

La regex serait xxx

\ p {l} + est une séquence de lettres. Le \ p {l} est un point de code Unicode avec la propriété " Lettre ", donc il correspond à une lettre dans n'importe quelle langue.

(? <= \ Bmy \ s +) est une affirmation de lookbehind, qui garantit que le mot" mon "est avant < / p>


1 commentaires

+1; Ajout d'une limite de mot pour ne pas correspondre à surplus armée :)



0
votes

si mon est pris à partir de l'entrée de l'utilisateur, xxx

ceci renvoie une chaîne vide s'il n'y a pas de correspondance.


0 commentaires

0
votes

"Ceci est ma prière"

.* (my )(\D*)( ).*


1 commentaires

Vous utilisez de nombreux groupes inutiles, d'accord, mais pourquoi utilisez-vous \ d , qui est "pas un chiffre"? Quels ont des chiffres à faire avec des mots assortis?



2
votes

Utilisez un look à venir Regex: xxx


0 commentaires