According to
https://www.gnu.org/software/findutils/manual/html_node/find_html/emacs-regular-expression-syntax.html

GNU extensions are supported:

   1. ‘\w’ matches a character within a word
   2. ‘\W’ matches a character which is not within a word
   3. ‘\<’ matches the beginning of a word
   4. ‘\>’ matches the end of a word
   5. ‘\b’ matches a word boundary
   6. ‘\B’ matches characters which are not a word boundary
   7. ‘\`’ matches the beginning of the whole input
   8. ‘\'’ matches the end of the whole input

However if I try using \` and \' in patsubst, it fails to find the match.

$ echo 'changequote()changequote([,])debugmode()traceon[]patsubst(good[]
bad,\`.*'\\\'',a\&b)'|m4
m4trace: -1- patsubst([good
bad], [\`.*\'], [a\&b]) -> [good
bad]
good
bad

\< \> seems to be supported.
$ echo 'changequote()changequote([,])debugmode()traceon[]patsubst(good[]
bad,\<.*\>,a\&b)'|m4
m4trace: -1- patsubst([good
bad], [\<.*\>], [a\&b]) -> [agoodb
abadb]
agoodb
abadb

$ m4 --version
m4 (GNU M4) 1.4.18
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Rene' Seindal.
$ cat /etc/redhat-release
Fedora release 26 (Twenty Six)

Thanks

Reply via email to