Travailler avec les REGEX

  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Avril 29th, 2011, 4:44 pm

Je n'ai pas été de travailler avec REGEX pendant un long moment donc j'ai oublié le très peu d'informations que je savais à ce sujet. Im essayant d'apprendre REGEX (encore) et ne peut pas obtenir le coup de lui.



Est-ce que quelqu'un sait de tout logiciel comme bon RegexBuddy (Mais gratuit) que je pourrais utiliser pour la pratique REGEX?

Im cherche également à obtenir une REGEX qui n'accepte que les A-Za-z0-1 .. de sorte que le REGEX car ce serait...
PHP Code: [ Select ]
preg_match('/A-Za-z0-9/', $input);
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Avril 29th, 2011, 4:44 pm

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13458
  • Loc: Florida
  • Status: Offline

Message Avril 29th, 2011, 5:24 pm

Le moyen le plus efficace de pratiquer avec les expressions régulières en PHP est d'enregistrer une page web ou dix dans le même répertoire de votre script PHP est assis, charger un ou plusieurs d'entre eux avec file_get_contents, et tenter d'identifier les différentes sections de ces pages Web.

En dehors de cela, le logiciel dont vous parlez est la seule chose Ive vu de ce genre de doute maintenant 5 ans.
Strong with this one, the sudo is.
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Avril 29th, 2011, 6:50 pm

PHP Code: [ Select ]
preg_match('/A-Za-z0-9/', $input);


correspond uniquement à la chaîne exacte "A-Za-z0-9". Vous voulez probablement une classe de caractères, qui correspond à tout au sein de la classe, y compris les gammes :

PHP Code: [ Select ]
preg_match('/[A-Za-z0-9]/', $input);


(Note entre crochets). Toutefois, une catégorie ne représente que un match seul caractère. Pour correspondre à plus d'un caractère dans cette classe, youd veux le modifier avec un * (zéro ou plus) ou un + (un ou plusieurs):

PHP Code: [ Select ]
preg_match('/[A-Za-z0-9]+/', $input);


Toutefois, cette mesure est exagérée, parce que \ w est un caractère spécial qui correspond à tout caractère d'un mot ; Plus généralement tout ce alphanumériques et des soulignés:

PHP Code: [ Select ]
preg_match('/\w+/', $input);


il ya beaucoup de testeurs regex en ligne (la plupart sont écrits en Javascript):
http://www.bing.com/search?&q=regular+expression+tester

Si j'étais vous, Id envisager d'installer Perl et écrit quelques scripts qui font des choses différentes qui requièrent des expressions régulières, c'est à dire la lecture et l'analyse d'un fichier, la modification des chaînes de caractères, etc La documentation Perl dispose d'une documentation regex excellent depuis son si largement utilisée.
The Beer Monocle. Classy.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Avril 29th, 2011, 8:36 pm

Bon, cela m'amène à une autre question...comment puis-je installer perl?
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Avril 29th, 2011, 11:06 pm

Bogey a écrit:
Bon, cela m'amène à une autre question...comment puis-je installer perl?

Ok, c'était une question stupide. Lequel dois-je installer? Fraise ou ActiveState Perl?

http://www.perl.org/get.html


J'ai construit mon propre utilitaire pour tester REGEX
PHP Code: [ Select ]
<form method="POST" action="index.php">
<p>REGEX: <input type="text" name="regex" style="width: 100%;" value="<?=isset($_POST['regex']) ? $_POST['regex'] : null;?>" /><br />
CONTENT: <textarea style="width: 100%; height: 300px;" name="content"><?=isset($_POST['content']) ? $_POST['content'] : null;?></textarea><br />
<input type="submit" name="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>
<hr />
<pre><?php
if(isset($_POST['submit']))
{
    $regex = $_POST['regex'];
    $content = $_POST['content'];
   
    echo "\n\nNumber of Results found: ";
    print_r(preg_match_all($regex, $content, $match));
    echo "\n\nActual Results\n\n";
    print_r($match);
}
?></pre>
  1. <form method="POST" action="index.php">
  2. <p>REGEX: <input type="text" name="regex" style="width: 100%;" value="<?=isset($_POST['regex']) ? $_POST['regex'] : null;?>" /><br />
  3. CONTENT: <textarea style="width: 100%; height: 300px;" name="content"><?=isset($_POST['content']) ? $_POST['content'] : null;?></textarea><br />
  4. <input type="submit" name="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
  5. </form>
  6. <hr />
  7. <pre><?php
  8. if(isset($_POST['submit']))
  9. {
  10.     $regex = $_POST['regex'];
  11.     $content = $_POST['content'];
  12.    
  13.     echo "\n\nNumber of Results found: ";
  14.     print_r(preg_match_all($regex, $content, $match));
  15.     echo "\n\nActual Results\n\n";
  16.     print_r($match);
  17. }
  18. ?></pre>
Je pense que des œuvres...
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Avril 30th, 2011, 12:47 pm

Je utiliser ActiveState.
The Beer Monocle. Classy.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Avril 30th, 2011, 1:12 pm

J'utilise Rubular: http://www.rubular.com/
#define NULL (::rand() % 2)
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Avril 30th, 2011, 9:24 pm

Merci Joebert...J'ai installé ActivePerl...maintenant je dois trouver comment l'utiliser :lol:

SpooF a écrit:
J'utilise Rubular: http://www.rubular.com/

Awesome!! Merci
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Mai 1st, 2011, 11:55 pm

Perl et PHP ont une syntaxe très proche. Vous n'aurez sans doute pas trop difficile d'un temps de le ramasser.
The Beer Monocle. Classy.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Mai 2nd, 2011, 12:17 am

spork a écrit:
Perl et PHP ont une syntaxe très proche. Vous n'aurez sans doute pas trop difficile d'un temps de le ramasser.

Non, je veux dire que je peux maintenant commencer à utiliser Perl dans une installation WAMP ou y at-il quelque chose de plus à lui après avoir installé ActivePerl?

Ce que j'ai fait est juste couru ActivePerl.msi...elle n'a pas demandé pour toute entrée lors de l'installation (en dehors de l'accord de licence, le lieu de l'installer à...)

Que dois-je faire ensuite? Il suffit de commencer le codage en Perl?
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Mai 2nd, 2011, 9:10 am

Vous devrez probablement configurer Apache si vous voulez écrire sites Web. Sinon vous pouvez simplement utiliser la ligne de commande.
#define NULL (::rand() % 2)
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Mai 2nd, 2011, 10:48 am

SpooF a écrit:
Vous devrez probablement configurer Apache si vous voulez écrire sites Web. Sinon vous pouvez simplement utiliser la ligne de commande.

Comment puis-je configurer Apache et que dois-je le configurer pour?
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Mai 2nd, 2011, 10:52 am

Pourquoi ne pas simplement écrire des scripts de ligne de commande? Je ne vois pas l'intérêt de passer par les tracas de la configuration d'Apache juste pour jouer avec les expressions régulières. Les choses seront beaucoup plus simple avec la plaine anciens scripts.
The Beer Monocle. Classy.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Mai 2nd, 2011, 12:18 pm

Je voudrais simplement aller de l'avant et apprendre Perl avec les expressions régulières.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Mai 4th, 2011, 9:59 pm

Alors, comment puis-je configurer Apache? Je veux juste que tout soit propre...non seulement je ne sais pas comment utiliser des scripts de ligne de commande, mais je pourrais apprendre Perl ainsi que REGEX.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mai 4th, 2011, 9:59 pm

Afficher de l'information

  • Total des messages de ce sujet: 18 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 199 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC