fnmatch.3: Describe the FNM_EXTMATCH flag and pattern syntax

Message ID 1444899508-24394-1-git-send-email-P@draigBrady.com
State New, archived
Headers

Commit Message

Pádraig Brady Oct. 15, 2015, 8:58 a.m. UTC
  Signed-off-by: Pádraig Brady <P@draigBrady.com>
---
 man3/fnmatch.3 | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
  

Comments

Michael Kerrisk \(man-pages\) Dec. 27, 2015, 4:15 p.m. UTC | #1
On 10/15/2015 10:58 AM, Pádraig Brady wrote:
> Signed-off-by: Pádraig Brady <P@draigBrady.com>

Thanks, Pádraig. APplied.

Cheers,

Michael


> ---
>  man3/fnmatch.3 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/man3/fnmatch.3 b/man3/fnmatch.3
> index a7c55ff..3502e06 100644
> --- a/man3/fnmatch.3
> +++ b/man3/fnmatch.3
> @@ -86,6 +86,32 @@ use of glibc and is implemented only in certain cases.
>  .B FNM_CASEFOLD
>  If this flag (a GNU extension) is set, the pattern is matched
>  case-insensitively.
> +.TP
> +.B FNM_EXTMATCH
> +If this flag (a GNU extension) is set, extended patterns are
> +supported, as introduced by \&'ksh' and now supported by other shells.
> +The extended format is as follows, with \fIpattern\-list\fR
> +being a \&'|' separated list of patterns.
> +.TP
> +\&'?(\fIpattern\-list\fR)'
> +The pattern matches if zero or one occurrences of any of the
> +patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
> +.TP
> +\&'*(\fIpattern\-list\fR)'
> +The pattern matches if zero or more occurrences of any of the
> +patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
> +.TP
> +\&'+(\fIpattern\-list\fR)'
> +The pattern matches if one or more occurrences of any of the
> +patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
> +.TP
> +\&'@(\fIpattern\-list\fR)'
> +The pattern matches if exactly one occurrence of any of the
> +patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
> +.TP
> +\&'!(\fIpattern\-list\fR)'
> +The pattern matches if the input \fIstring\fR cannot be matched with
> +any of the patterns in the \fIpattern\-list\fR.
>  .SH RETURN VALUE
>  Zero if
>  .I string
>
  

Patch

diff --git a/man3/fnmatch.3 b/man3/fnmatch.3
index a7c55ff..3502e06 100644
--- a/man3/fnmatch.3
+++ b/man3/fnmatch.3
@@ -86,6 +86,32 @@  use of glibc and is implemented only in certain cases.
 .B FNM_CASEFOLD
 If this flag (a GNU extension) is set, the pattern is matched
 case-insensitively.
+.TP
+.B FNM_EXTMATCH
+If this flag (a GNU extension) is set, extended patterns are
+supported, as introduced by \&'ksh' and now supported by other shells.
+The extended format is as follows, with \fIpattern\-list\fR
+being a \&'|' separated list of patterns.
+.TP
+\&'?(\fIpattern\-list\fR)'
+The pattern matches if zero or one occurrences of any of the
+patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
+.TP
+\&'*(\fIpattern\-list\fR)'
+The pattern matches if zero or more occurrences of any of the
+patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
+.TP
+\&'+(\fIpattern\-list\fR)'
+The pattern matches if one or more occurrences of any of the
+patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
+.TP
+\&'@(\fIpattern\-list\fR)'
+The pattern matches if exactly one occurrence of any of the
+patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
+.TP
+\&'!(\fIpattern\-list\fR)'
+The pattern matches if the input \fIstring\fR cannot be matched with
+any of the patterns in the \fIpattern\-list\fR.
 .SH RETURN VALUE
 Zero if
 .I string