Bien que je lis un grand nombre de publications sur le sujet (en particulier en utilisant des lookarounds), je n'ai pas compris si ce cas plus général peut être résolu en utilisant des expressions régulières.java regex: négation d'un match
configuration:
1) une expression régulière est passé dans
2) l'expression rationnelle d'entrée est intégré dans un regex négatif de sorte que
3) tout ce qui est pas identifié par l'entrée regex d'entrée est adaptée
Exemple:
suivant:
input regex: "[-//s]";
et
text: "self-service restaurant"
Je veux une expression régulière négative dans laquelle à intégrer mon regex d'entrée afin que je puisse correspondre à mon texte:
"self", "service", "restaurant"
Fait important, l'expression régulière négative devrait également être en mesure de correspondre à une chaîne simple comme:
"restaurant"
Note, ce que je veux faire pourrait être atteint changer l'expression rationnelle d'entrée de
"[-//s]"
à
"[^-//s]"
Pourtant, je suis après une approche plus générale où l'on peut une expression régulière être passé dans une expression rationnelle négative.
essayer '[^ - \\ s] +'.Utilisez la même chose pour tous. –
On dirait que vous voulez scinder votre chaîne sur regex passée (vous pouvez juste entourer regex passée avec '(?: UserRegex) +' pour éviter des résultats vides comme '" fo - o ".split (" - ")' où le résultat serait '[" fo "," "," o "]'). – Pshemo
'String myRegex =" [^ "+" yourRegexHere "' pourrait faire l'affaire, si je comprends bien votre question. – JonasCz