J'ai cette phrase maintenant j'essaie de l'afficher dans mon code mais je n'ai pas trouvé la méthode pour le faire, je "J'ai essayé avec StringMatch ou remplacé comme ceci: p> mais il n'a pas fonctionné. Commerce_Product - Par défaut code> que je veux extraire uniquement la dernière partie, alors ici Par défaut code>, pour le faire, j'utilise cette regex Regexp (r '- \ s * \ k [^ -] + $') code>
Merci pour l'aide p> p>
3 Réponses :
Vous utilisez un modèle PCRE qui n'est pas pris en charge dans DART REGEX. Vous pouvez utiliser
final type = 'commerce_product--default';
final newType = RegExp(r'-\s*([^-]+)$').firstMatch(type);
if (newType!=null) {
print(newType.group(1));
}
Oh merci pour les informations! Je n'ai pas encore travaillé avec Dart Beaucoup et je ne le savais pas. Assez drôle, j'ai la regex de l'une de votre réponse aussi ahaha! Juste testé et ça marche comme prévu, merci!
Pour remplacer tout avant la dernière occurrence de dans le remplacement, utilisez une chaîne vide. P> - code> Vous pouvez également correspondre à la ligne entière jusqu'à la dernière survenue et affirmer que ce qui suit
est de plus de 1 fois tout type sauf - code> jusqu'à la fin de la chaîne. default
Merci pour votre commentaire! En effet, cela fonctionne exactement comme la première réponse, mais il utilise un peu moins de code alors je l'utiliserais à la place!
@StefanyOYC Il convient de noter que cette application nécessite un motif de réégyvalité quelque peu complexe pour correspondre mais est assez trivial à l'aide de moyens non réégyts. (Voir la réponse de l'IRN)
Pour tout correspondre après le dernier Ceci correspond à tous Fonctionnement non- Si la chaîne ne contient aucun Cela nécessiterait un caractère moins avant Le match. P> J'aurais probablement omettre entièrement la réégycle et le faire avec le code: p> - code>, vous devez simplement correspondre à tous les caractères non- - code> - code> - xxx pré> - code> caractères. p> - code>, il correspond à la chaîne entière. Si vous souhaitez une non-correspondance dans ce cas, vous pouvez mettre en œuvre le ? Code>: p>
Pourquoi ne remplacez-vous pas avant le dernier
- code> avec une chaîne vide?^. * - code>