J'essaie d'analyser certains fichiers texte dans une base de données et il y a une chaîne qui contient 2 éléments d'information. Il y a quelques options pour ce à quoi la chaîne peut ressembler. Il peut ressembler à un seul mot Word
ou il peut avoir ce premier mot, suivi d'un tiret, suivi d'un certain nombre d'autres mots comme Word - Second
. La clé cependant, est que SI la chaîne se termine par un nombre comme Word - Second 4
ou deux nombres séparés par une barre oblique comme Word - Second 2/3
alors ces nombres doivent être mis dans une variable différente. Je ne sais pas assez sur regex pour faire celui-ci. Aidez-moi? (? Avec des explications)Regex pour comprendre une chaîne complexe
1
A
Répondre
2
Je pense que vous cherchez peut-être quelque chose comme ceci:
^([a-zA-Z]+(?: *- *[a-zA-Z]+(?: +[a-zA-Z]+)*)?)(?: +(\d+(?:\/\d+)?))?$
Explication:
^ Start of line ( First capturing group (for the words) [a-zA-Z]+ A word (?:...)? (Omitted for clarity) ) Close first group (?: Start non-capturing group \s+ Some whitespace ( Second capturing group (for the numbers) \d+ A number (?:\/\d+)? Optionally a slash followed by another number ) Close capturing group )? Close optional non-capturing group $ End of line
J'omis une explication de cette partie ci-dessus: (?: *- *[a-zA-Z]+(?: +[a-zA-Z]+)*)?
. Il correspond à un tiret suivi d'un ou plusieurs mots séparés par des espaces. J'ai également écrit \s
dans l'explication au lieu de parce que l'espace est invisible. Mais
\s
correspond à n'importe quel espace, y compris les nouvelles lignes. Vous préférerez peut-être faire correspondre uniquement des espaces.
Questions connexes
- 1. RegEx dans VBA: casse une chaîne complexe en plusieurs jetons?
- 2. Problème de complexe regex
- 3. Regex pour vérifier une chaîne
- 4. Comprendre cette instruction RegEx
- 5. Traitement de chaîne complexe - bien complexe pour moi
- 6. Chaîne Regex pour IRC
- 7. PHP regex pour vérifier une chaîne
- 8. Regex pour détecter Javascript Dans une chaîne
- 9. RegEx avec une chaîne
- 10. Regex pour remplacer la chaîne
- 11. Regex pour récupérer la chaîne
- 12. REGEX matcher une chaîne de
- 13. RegEx et une chaîne optionnelle
- 14. Comment utiliser une regex ruby pour obtenir une sous-chaîne?
- 15. Regex pour reformater une chaîne en une balise xml sécurisée
- 16. Apache complexe regex s'écraser avec erreur 500
- 17. split chaîne complexe en Java
- 18. Regex pour trouver chaîne à l'intérieur chaîne à l'intérieur chaîne
- 19. pasing chaîne complexe sur iphone
- 20. problème simple Regex que je ne peux pas comprendre
- 21. Regex pour chaîne en utilisant la bibliothèque GNU C regex
- 22. Parsing chaîne complexe en utilisant des expressions régulières
- 23. Utilisation de Regex pour modifier une chaîne en C#
- 24. regex pour analyser une chaîne de type URL en PHP
- 25. Regex trouver des balises spécifiques pour remplacer dans une chaîne
- 26. Regex pour trouver la dernière jeton sur une chaîne
- 27. Regex pour trouver un nombre dans une chaîne
- 28. RegEx pour exclure une constante de chaîne spécifique
- 29. Regex pour modifier l'ordre des attributs dans une chaîne JSON?
- 30. Regex pour faire correspondre "tout sauf" une chaîne
Vous devriez échapper vos barres obliques. –
Umm ... ouais ... ça n'a aucun sens pour moi. En espérant que cela fonctionne! –
A dû échapper à la barre oblique comme Stefan l'a dit, ce qui m'a fait réaliser que je ne fournissais pas assez d'informations. Je n'ai pas besoin de trouver les chaînes qui correspondent à ces critères, j'ai besoin de trouver les numéros à l'intérieur de ces chaînes et les retirer. –