<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Expressions_regulars_amb_C</id>
	<title>Expressions regulars amb C - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Expressions_regulars_amb_C"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Expressions_regulars_amb_C&amp;action=history"/>
	<updated>2026-08-30T09:28:34Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Expressions_regulars_amb_C&amp;diff=250376&amp;oldid=prev</id>
		<title>Joan: Es crea la pàgina amb «Per validar un mail: '''prova_regex.c''': &lt;pre&gt; #include &lt;stdio.h&gt; #include &lt;regex.h&gt;  int main(const char *argv, int argc) {     //validació de mail     const char *reg...».</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Expressions_regulars_amb_C&amp;diff=250376&amp;oldid=prev"/>
		<updated>2013-03-01T12:34:21Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «Per validar un mail: &amp;#039;&amp;#039;&amp;#039;prova_regex.c&amp;#039;&amp;#039;&amp;#039;: &amp;lt;pre&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;regex.h&amp;gt;  int main(const char *argv, int argc) {     //validació de mail     const char *reg...».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Per validar un mail: '''prova_regex.c''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;regex.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(const char *argv, int argc)&lt;br /&gt;
{&lt;br /&gt;
    //validació de mail&lt;br /&gt;
    const char *reg_exp = &amp;quot;^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))@([a-z0-9])([a-z0-9-])*([a-z0-9])([.])(([a-z0-9]){2,4})$&amp;quot;;&lt;br /&gt;
    //el * significa tants caràcters com vulguis&lt;br /&gt;
    int status = 1;&lt;br /&gt;
    char *email;&lt;br /&gt;
    regex_t preg;&lt;br /&gt;
    int rc;&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;The regex = %s\n&amp;quot;, reg_exp);&lt;br /&gt;
$ ./prova_regex2 &lt;br /&gt;
The regex = ^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))@([a-z0-9])([a-z0-9-])*([a-z0-9])([.])(([a-z0-9]){2,4})$&lt;br /&gt;
main: The regular expression is a match&lt;br /&gt;
    rc = regcomp(&amp;amp;preg, reg_exp, REG_EXTENDED|REG_NOSUB);&lt;br /&gt;
    if (rc != 0)&lt;br /&gt;
    {&lt;br /&gt;
        if (rc == REG_BADPAT || rc == REG_ECOLLATE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Bad Regex/Collate\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_ECTYPE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Invalid Char\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_EESCAPE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Trailing \\\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_ESUBREG || rc == REG_EBRACK)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Invalid number/[] error\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_EPAREN || rc == REG_EBRACE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Paren/Bracket error\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_BADBR || rc == REG_ERANGE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;{} content invalid/Invalid endpoint\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_ESPACE)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Memory error\n&amp;quot;);&lt;br /&gt;
        if (rc == REG_BADRPT)&lt;br /&gt;
            fprintf(stderr, &amp;quot;Invalid regex\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        fprintf(stderr, &amp;quot;%s: Failed to compile the regular expression:%d\n&amp;quot;, __func__, rc);&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    email = &amp;quot;joanqcgma-i.lcom.ewrw@erwa-a.sdf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    rc = regexec(&amp;amp;preg, email, (size_t)0, NULL, 0);&lt;br /&gt;
    if (rc == 0)&lt;br /&gt;
    {&lt;br /&gt;
        fprintf(stderr, &amp;quot;%s: The regular expression is a match\n&amp;quot;, __func__);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        fprintf(stderr, &amp;quot;%s: The regular expression is not a match: %d\n&amp;quot;, __func__, rc);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    regfree(&amp;amp;preg);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;$ gcc prova_regex2.c -o prova_regex2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gcc prova_regex.c -o prova_regex&lt;br /&gt;
$ ./prova_regex&lt;br /&gt;
The regex = ^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))@([a-z0-9])([a-z0-9-])*([a-z0-9])([.])(([a-z0-9]){2,4})$&lt;br /&gt;
main: The regular expression is a match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Autor}}, març 2013&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>