X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=doc%2Fman7%2Fnotmuch-sexp-queries.rst;h=7eaffe569f0ea42a8f8c8a44c9489547f1e27322;hb=1870b3ae4bae5e68296e63acc81965eea04a1a7a;hp=c83ce3d0603650eda1a5bf92448ff2a89b85a08d;hpb=011d06f4d6fec8083581676ba9f9448fe7bea1be;p=notmuch diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst index c83ce3d0..7eaffe56 100644 --- a/doc/man7/notmuch-sexp-queries.rst +++ b/doc/man7/notmuch-sexp-queries.rst @@ -36,8 +36,11 @@ An s-expression query is either an atom, the empty list, or a a *field*, *logical operation*, or *modifier*, and 0 or more subqueries. -``*`` ``()`` - Match all messages. +``*`` + "*" matches any non-empty string in the current field. + +``()`` + The empty list matches all messages *term* @@ -138,6 +141,20 @@ from terms, operators, and modifiers, but not other fields. 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 `, or outside of fields [#not-body]_. Note that + a ``starts-with`` query cannot be part of a phrase. The + atom ``*`` is a synonym for ``(starts-with "")``. + EXAMPLES ======== @@ -181,6 +198,9 @@ EXAMPLES "mallory@example.org", and also "bob@example.com.au" since it contains the adjacent triple "bob", "example", "com". +``(not (to *))`` + Match messages with an empty or invalid 'To' and 'Cc' field. + NOTES ===== @@ -190,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.