J'ai un flux dans Yahoo Pipes et je veux tout faire correspondre après un point d'interrogation.
Jusqu'à présent, j'ai trouvé comment faire correspondre le point d'interrogation en utilisant ..
\?
Maintenant, juste pour faire correspondre tout ce qui est après / suit le point d'interrogation.
\?.*
correspond à tout (y compris une chaîne vide) après?
."\\?"
Réponses:
Vous voulez le contenu du premier groupe de capture.
la source
Feb 5 '11 at 10:41
. Il est toujours bon de signaler chaque changement que nous obtenons. Peut-être que quelqu'un apprendra de Dreamonic en le soulignant.Essaye ça:
Les parenthèses sont un groupe de capture que vous pouvez utiliser pour extraire la partie de la chaîne qui vous intéresse.
Si la chaîne peut contenir de nouvelles lignes, vous devrez peut-être utiliser le modificateur «dot all» pour permettre au point de correspondre au caractère de nouvelle ligne. Que vous deviez le faire ou non et comment le faire dépend de la langue que vous utilisez. Il semble que vous ayez oublié de mentionner le langage de programmation que vous utilisez dans votre question.
Une autre alternative que vous pouvez utiliser si votre langage prend en charge les assertions lookbehind à largeur fixe est:
la source
Avec la technique positive du regard en arrière :
(?<=\?).*
(Nous recherchons un texte précédé d'un point d'interrogation ici)
Exemple
Fondamentalement, il
?<=
s'agit d'une construction de groupe, qui nécessite le point d'interrogation échappé, avant qu'une correspondance ne puisse être établie.Ils fonctionnent très bien, mais toutes les implémentations ne les prennent pas en charge.
la source
Si vous voulez faire correspondre tous les caractères après "?" vous pouvez utiliser un groupe pour faire correspondre n'importe quel caractère, et vous feriez mieux d'utiliser le signe "$" pour indiquer la fin de la ligne.
la source
.
par défaut ne correspond pas au caractère de nouvelle ligne. Par conséquent, même sans le caractère de fin de ligne dans l'expression, il correspondrait jusqu'à la fin de la ligne.Consultez ce site: http://rubular.com/ Fondamentalement, le site vous permet de saisir un exemple de texte (ce que vous recherchez sur votre site), puis lorsque vous créez l'expression régulière, il mettra en évidence ce qui correspond à temps réel.
la source
/([a-zA-Z]{4}):/
va correspondreTest: Welcome
et saisirTest
str.replace(/^.+?\"|^.|\".+/, '');
Ceci est parfois mauvais à utiliser lorsque vous voulez sélectionner quoi d'autre à supprimer entre "" et que vous ne pouvez pas l'utiliser plus de deux fois dans une chaîne. Tout ce qu'il fait est de sélectionner tout ce qui n'est pas entre "" et de le remplacer par rien.
Même pour moi, c'est un peu déroutant, mais j'essaie de l'expliquer.
^.+?
(pas quelque chose d'OPTIONNEL) jusqu'au premier"
alors|
Or / stop (toujours à la recherche de ce que cela signifie vraiment) jusqu'à / at^.
n'a rien sélectionné avant le 2ème en"
utilisant (|
stop / at). Et sélectionnez tout ce qui vient après avec. +.la source