summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2021-08-24 08:17:29 -0700
committerDavid Bremner <david@tethera.net>2021-09-04 17:07:19 -0700
commit1870b3ae4bae5e68296e63acc81965eea04a1a7a (patch)
treeaaeb78be312fde04adef8026df3837c0aa0d0f51 /doc
parent5cb452c325e1f69e43dca610f48b9396cba9c039 (diff)
lib/parse-sexp: support regular expressions
At least to the degree that the Xapian QueryParser based parser also supports them. Support short alias 'rx' as it seems to make more complex queries nicer to read.
Diffstat (limited to 'doc')
-rw-r--r--doc/man7/notmuch-sexp-queries.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst
index f32bab9c..7eaffe56 100644
--- a/doc/man7/notmuch-sexp-queries.rst
+++ b/doc/man7/notmuch-sexp-queries.rst
@@ -144,6 +144,11 @@ MODIFIERS
*Modifiers* refer to any prefixes (first elements of compound queries)
that are neither operators nor fields.
+``(regex`` *atom* ``)`` ``(rx`` *atom* ``)``
+ Interpret *atom* as a POSIX.2 regular expression (see
+ :manpage:`regex(7)`). This applies in term fields and a subset [#not-phrase]_ of
+ phrase fields (see :any:`field-table`).
+
``(starts-with`` *subword* ``)``
Matches any term starting with *subword*. This applies in either
phrase or term :any:`fields <fields>`, or outside of fields [#not-body]_. Note that
@@ -205,6 +210,9 @@ NOTES
.. [#aka-bool] a.k.a. boolean prefixes
+.. [#not-phrase] Due to the implemention of phrase fields in Xapian,
+ regex queries could only match individual words.
+
.. [#not-body] Due the the way ``body`` is implemented in notmuch,
this modifier is not supported in the ``body`` field.