summaryrefslogtreecommitdiffstats
path: root/man3/regex.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/regex.3')
-rw-r--r--man3/regex.318
1 files changed, 9 insertions, 9 deletions
diff --git a/man3/regex.3 b/man3/regex.3
index d245daf23..13e540b22 100644
--- a/man3/regex.3
+++ b/man3/regex.3
@@ -365,40 +365,40 @@ Always reference them by name.
#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;\en2) John Doe;\en3) John Foo;\en";
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 = \e"%s\e"\en", str);
printf("Matches:\en");
-
+\&
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:\en", i);
printf("offset = %jd; length = %jd\en", (intmax_t) off,
(intmax_t) len);
printf("substring = \e"%.*s\e"\en", len, s + pmatch[0].rm_so);
-
+\&
s += pmatch[0].rm_eo;
}
-
+\&
exit(EXIT_SUCCESS);
}
.EE