Modifier Je résolvez mon problème.
C'est la solution maintenant, j'ai une autre question p> chaque fois qu'elle a trouvé un mot, le mot est inséré dans une position de la matrice. P> Si j'ai cette phrase "Quel est votre nom et votre nom de famille? Mon nom et mon nom de famille 'est paolo celio et la série A IIM 25 Thankbro Bro Ciao"
ceci est mon code p> la sortie est le suivant p> pourquoi il ne rejoint pas la série A à la place 't imprimer a?
Pourquoi le dernier mot ne fait pas partie de la sortie? p> merci p> éditer
Je résout mon problème, c'est mon regex p>
4 Réponses :
Vous pouvez utiliser ..
<?php
$test="the Quick brown Fox jumps Over the Lazy Dog";
preg_match_all("/[A-Z][a-z]*/",$test,$op);
$output = implode(' ',$op[0]);
echo $output;
?>
Bien que cela fonctionne avec le texte donné soit conscient du fait qu'il y a une courte arrivée à l'expression car elle fera également faille faussement des mots comme Noway (lettre capitalisée dans le mot). Cela pourrait être quelque chose que l'OP peut vivre.
Merci pour votre réponse. Mais si j'ai cette phrase "Bonjour, mon nom est Paloppa. J'ai 20 ans et j'adore le football" Je veux cette sortie "Paloppa et Football" Quelle est la condition prég_match_all?
Pour extraire des mots complets, vous devez utiliser les limites de mots et les classes de caractères pour correspondre à la partie restante du mot et utiliser lookbehinds pour exclure le contenu précédent: si vous voulez capitaliser Les mots seulement, à l'exclusion des mots mixtes, remplacez Démo ici p> p> [a-za-z] code> avec juste [AZ] code>. p>
Merci mec, mais si j'ai cette phrase "Bonjour mon nom est Paloppa. J'ai 20 ans et? Bonjour! mots" homme "" Le retour est le nom I.
@Paloppa Si vous avez cette phrase, quelle est la sortie attendue? Je reçois «Nom Paloppa et Hello Words Man», pas ce que vous décrivez ...
Oui, je sais, mais je ne comprends pas quelle est l'expression régulière pour ma nouvelle demande. Pouvez-vous m'aider s'il vous plaît? Merci. Je ne veux pas d'imprimer les mots qui finissent avec ces caractères spéciaux (.?! '") Comment puis-je faire cela?
Qu'est-ce que le preg_match?
Ok mais, dans la sortie, je veux je et je ne veux pas de Paloppa. De plus, si j'ai un mot qui finit par "il me donne une erreur. Je peux donc faire? Ma phrase est" Bonjour mon nom est Paloppa. J'ai 20 ans et? Bonjour! Mots "femme" "homme" et la sortie doivent avoir nom i man
@Paloppa: Pourquoi voulez-vous i code>, il est suivi de ' code>? Vous changez continuellement votre demande, s'il vous plaît, Modifiez votre question et donnez plus de cas de test avec le résultat attendu.
Whi si j'ai des exemples: ou si je suppose, ou d'autres caractères spéciaux, ils ne sont pas suscités dans la sortie? Avec cette condition, nous éliminons tous les mots avec des caractères spéciaux comme:,; "? ! etc
Vous pouvez utiliser le moyen le plus rapide.
Array
(
[0] => Hi
[1] => There
[2] => Is
[3] => First
[4] => Job
)
Mise à jour des réponses
Ceci est légèrement compliqué, quand il s'agit de cas de bord, nous définirions simplement deux classes de caractères sur la base de nos sorties et des entrées souhaitées, peut-être avec une limite de mot, avec une expression similaire à:
$re = '/(?=[^I\'])\b([A-Z][a-z\'é]+)\b/m'; $str = 'Hello my name is Paloppa. I\'m 20 And i love Football. Hello my name is Chloé. I\'m 20 And i love Football. Hello my name is Renée O\'neal. I\'m 20 And i love Football.'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); var_dump($matches);
Êtes-vous sûr de ne pas vous «saluer» dans la sortie attendue aussi?
Alors voulez-vous uniquement des mots capitalisés ou un mot contenant un caractère majuscule?
Je ne veux pas que le mot commence après le point et le premier mot si c'est le premier mot. Donc j'ai cette phrase "salut tout. Mon nom est Paloppa", le retour est "Paloppa no @ man0v
Il y a une contradiction entre votre code et votre résultat. Votre code sélectionne
mon code> (dansmon nom et ... code>) mais votre matrice résultante ne montre pas cemon code>. Quel est le comportement correct et pourquoi?@Toto j'ai oublié ça désolé. Mais je peux faire ce que j'ai dit? Paulo Celio dans la même position de tableau?
Vous pouvez certainement le faire si vous pouvez expliquer la règle, pourquoi ces deux mots doivent être joints et non quelques autres? Dans la phrase:
Quel est votre nom et votre nom de famille? Mon nom et mon nom de famille sont Paolo Celio CODE> Devrait-ilVotre nom et code> être joint?@Toto je veux rejoindre les mots consécutifs qui commencent par une lettre majuscule. Donc, si j'ai la phrase «Qu'est-ce que votre nom et votre nom de famille? Mon nom et votre nom de famille sont Paolo Celio» Je veux rejoindre Just Paolo Celio. Si nous avons la phrase "Qu'est-ce que votre nom et votre nom de famille? Mon nom et mon nom de famille sont Paolo Celio Garden" I Wnat Rejoignez Paolo Celio Garden
OK, mais pourquoi pas
votre nom et code>?Vous ne devriez pas modifier votre question pour inclure la réponse, sinon la question et les réponses initiales deviennent inutiles sans contexte. Il vaut mieux poser une nouvelle question. Avis Comment demander et Que faire avec les réponses
@Toto parce que pour l'exemple, la jointure Paolo Celio est le nom et le nom de famille. Ou par exemple, si j'ai la Premier League, je veux le rejoindre, mais si j'ai votre nom et je ne veux pas rejoindre cela ou si j'en ai hi froid, où je ne veux pas de rejoindre.
@Toto Les conditions que je pensais sont les suivantes: Vérifiez la phrase initiale. Si dans cette phrase, il y a 2-3 ou plusieurs mots consécutifs, rejoignez-le. Comment puis-je faire cela avec Preg_Match?
Il ne correspond pas à "la série A" ou le dernier mot car la règle
[AZ] [AZ] + + code> correspond à "une lettre majuscule suivie de une ou plusieurs minuscules et un ou plusieurs i> espaces ».Je l'ai résolu! Merci a tous