regex(3): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <regex.h> #define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0])) static const char *const str = "1) John Driverhacker;\n2) John Doe;\n3) John Foo;\n"; static const char *const re = "John.*o"; int main(void) { static const char *s = str; regex_t regex; regmatch_t pmatch[1]; regoff_t off, len; if (regcomp(&regex, re, REG_NEWLINE)) exit(EXIT_FAILURE);...')
 
Ingen redigeringssammanfattning
 
Rad 39: Rad 39:
     exit(EXIT_SUCCESS);
     exit(EXIT_SUCCESS);
}
}
= Sidslut =
Orginalhemsidan på Engelska :https://www.man7.org/linux/man-pages/man3/regex.3.html
<BR>[[PHP]]
<HR>
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
<BR><BR>Tack till [https://pc-service.se PC Service] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.
[[Kategori:C-biblioteket]]

Nuvarande version från 20 november 2024 kl. 17.22

  1. include <stdint.h>
  2. include <stdio.h>
  3. include <stdlib.h>
  4. include <regex.h>
  1. define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0]))

static const char *const str =

       "1) John Driverhacker;\n2) John Doe;\n3) John Foo;\n";

static const char *const re = "John.*o";

int main(void) {

   static const char *s = str;
   regex_t     regex;
   regmatch_t  pmatch[1];
   regoff_t    off, len;
   if (regcomp(&regex, re, REG_NEWLINE))
       exit(EXIT_FAILURE);
   printf("String = \"%s\"\n", str);
   printf("Matches:\n");
   for (unsigned int i = 0; ; i++) {
       if (regexec(&regex, s, ARRAY_SIZE(pmatch), pmatch, 0))
           break;
       off = pmatch[0].rm_so + (s - str);
       len = pmatch[0].rm_eo - pmatch[0].rm_so;
       printf("#%zu:\n", i);
       printf("offset = %jd; length = %jd\n", (intmax_t) off,
              (intmax_t) len);
       printf("substring = \"%.*s\"\n", len, s + pmatch[0].rm_so);
       s += pmatch[0].rm_eo;
   }
   exit(EXIT_SUCCESS);

}