Java regex contenu entre des guillemets simples
Je suis en train d'écrire une regex en Java pour trouver le contenu entre des guillemets simples. Peut-on s'il vous plaît m'aider avec cela? J'ai essayé ce qui suit, mais il ne fonctionne pas dans certains cas:
Pattern p = Pattern.compile("'([^']*)'");
-
Cas de Test: 'Tumblr" est une application étonnante résultat Attendu: Tumblr
-
Cas de Test: Tumblr est une incroyable application résultat Attendu: application
-
Cas de Test: Tumblr est un "extraordinaire" app résultat Attendu: incroyable
-
Cas de Test: Tumblr est "génial" et "extraordinaire" résultat Attendu: génial, incroyable
-
Cas de Test: Tumblr les utilisateurs sont déçus résultat Attendu: AUCUN
-
Cas de Test: sur Tumblr '" acquisition complète, mais les utilisateurs de la loyauté douteuse résultat Attendu: acquisition
J'apprécie toute aide à ce sujet.
Grâce.
OriginalL'auteur user1744332 | 2013-05-25
Vous devez vous connecter pour publier un commentaire.
Cela devrait faire l'affaire:
Exemple: http://www.regex101.com/r/hG5eE1
Dans Java (ideone):
ce n'est pas vraiment complet car les guillemets simples sont une partie de la sortie ;-). Il pourrait être fixé avec m.groupe().replace('\", '\u0000')
pas besoin pour cela; la même expression régulière permettra de saisir la chaîne de caractères entre guillemets dans le groupe(0) et sans les guillemets dans le groupe(1). ideone.com/m9t1AF
J'ai un petit problème. Donc, je veux corriger modèle pour les chaînes de caractères suivantes. "'Tumblr’ est \"un étonnant\" application", "Tumblr est une incroyable application", "Tumblr est un “seuls les citoyens peuvent posséder des terres.” les étrangers"", "Tumblr est" génial " et " incroyable ", "Tumblr " utilisateurs", sont "déçus " ss", "Tumblr ""acquisition complète, mais les utilisateurs de la loyauté douteuse", Si vous savez s'il vous plaît laissez-moi savoir.
OriginalL'auteur guido
Si vous ne laissez pas l'apostrophe,
'
, ou le caractère espace,' '
, pour être dans la tendance, alors vous êtes bon pour aller. J'ai utilisé+
parce que je suppose que vous ne voulez pas une entrée vide (si non, revenir à un*
):Je suis d'accord, vos solutions sont bonnes et font sens, mais aucun des exemples suggéré que l'OP a voulu saisir plusieurs mots, alors, dans un effort pour garder aussi proche que possible de l'OP du code/des restrictions, je suis venu avec cette.
Vous êtes de droite. Mais l'Affiche Originale a été convaincu qu'il n'est pas possible. Triste histoire.
OriginalL'auteur Steve P.
Essayez la suivante:
OriginalL'auteur Paul Vargas
Essayez ce simple regex modèle:
et un code de test:
OriginalL'auteur Ria
Juste ne pas laisser
' '
apparaissent dans la sortie. Utilisez cette regex:Ou assurez-vous que la citation paire est enveloppé par des espaces.
Essayez la nouvelle solution.
mieux, mais vous avez encore de l'espace au lieu de blanc, et n'a pas de fin de ligne (alors qu'il est comme le mien 😉
OriginalL'auteur johnchen902