Regex character and collation calss documentation
James B. Byrne
byrnejb at harte-lyne.ca
Wed Nov 8 17:48:05 UTC 2017
I have been perusing the available documentation respecting regex on
FreeBSD and cannot find a reference to [.NUL.]. Everything that I have
found points to ctype.h. The only class names I can find therein are:
int isalnum(int); [:alnum:]
int isalpha(int); [:alpha:]
int iscntrl(int); [:cntrl:]
int isdigit(int); [:digit:]
int isgraph(int); [:graph:]
int islower(int); [:lower:]
int isprint(int); [:print:]
int ispunct(int); [:punct:]
int isspace(int); [:space:]
int isupper(int); [:upper:]
int isxdigit(int); [:xdigit:]
>From reading the reference at
https://docs.freebsd.org/info/regex/regex.pdf and comparing it to the
uncommented lines in ctype.h on my FreeBSD-11.1 desktop host one could
reasonably deduce that the following should be available on FreeBSD in
addition to the above:
int isascii(int); [:ascii:]
int isblank(int); [:blank:]
int ishexnumber(int); [:hexnumber:]
int isideogram(int); [:ideogram:]
int isnumber(int); [:number:]
int isphonogram(int); [:phonogram:]
int isrune(int); [:rune:]
int isspecial(int); [:special:]
But of these only [[:blank:]] is recognized by grep; whatever else
might employ the rest.
[[:ascii:]]
grep: Invalid character class name
[[:hexnumber:]]
grep: Invalid character class name
[[:ideogram:]]
grep: Invalid character class name
[[:number:]]
grep: Invalid character class name
[[:phonogram:]]
grep: Invalid character class name
[[:rune:]]
grep: Invalid character class name
[[:special:]]
grep: Invalid character class name
However I see no reference to [.NUL.] anywhere. The sed man page has
no reference to nul or NUL at all and tr only has this to say:
The tr utility has historically not permitted the manipulation
of NUL bytes in its input and, additionally, stripped NUL's from
its input stream. This implementation has removed this behavior
as a bug.
Is there a master list of character/collation classes for FreeBSD
regex? I have read the man pages for grep and re_format. In no case
is the character or collation class NUL mentioned.
Where is the usage of [.NUL.] documented?
--
*** e-Mail is NOT a SECURE channel ***
Do NOT transmit sensitive data via e-Mail
Do NOT open attachments nor follow links sent by e-Mail
James B. Byrne mailto:ByrneJB at Harte-Lyne.ca
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3
More information about the freebsd-questions
mailing list