From a3384d101e7242ad648370d1e9cdeb005f833e0d Mon Sep 17 00:00:00 2001 From: Stephan Hradek Date: Fri, 10 Jan 2014 13:23:26 +0100 Subject: [PATCH] Extended the filter documentation --- .../tiddlers/concepts/TiddlerFilters.tid | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/editions/tw5.com/tiddlers/concepts/TiddlerFilters.tid b/editions/tw5.com/tiddlers/concepts/TiddlerFilters.tid index 1df0da137..942e6f8b1 100644 --- a/editions/tw5.com/tiddlers/concepts/TiddlerFilters.tid +++ b/editions/tw5.com/tiddlers/concepts/TiddlerFilters.tid @@ -1,9 +1,3 @@ -created: 20130827080000000 -modified: 20140107114229585 -tags: concepts -title: TiddlerFilters -type: text/vnd.tiddlywiki - Filters are used in TiddlyWiki to choose tiddlers by specifying simple match criteria. ! Examples @@ -44,7 +38,7 @@ A filter string consists of one or more runs of filter operators that each look * ''prefix'': tests whether a tiddlers title starts with the prefix specified in the operand * ''limit'': limits the number of subresults to the integer specified in the operand * ''tag'': tests whether a given tag is (`[tag[mytag]]`) or is not (`[!tag[mytag]]`) present on the tiddler -* ''{field}'': tests whether a tiddler field has a specified value (`[modifier[Jeremy]]`) or not (`[!modifier[Jeremy]]`) +* ''{field}:'': tests whether a tiddler field has a specified value (`[modifier:[Jeremy]]`) or not (`[!modifier:[Jeremy]]`) * ''tags'': selects the tags on the currently selected tiddlers * ''tagging'': selects the tiddlers tagged with the currently selected tiddlers * ''untagged'': selects the any of the selected tiddlers that do not have at least one tag @@ -69,7 +63,7 @@ The operands available with the `is` operator are: * ''tiddler'': selects all tiddlers excluding shadows, whether or not they are SystemTiddlers * ''system'': selects all SystemTiddlers * ''shadow'': selects all ShadowTiddlers -* ''current'': selects the CurrentTiddler +* ''current'': selects the current ContextTiddler * ''missing'': selects all MissingTiddlers * ''orphan'': selects all OrphanTiddlers @@ -79,6 +73,16 @@ If a filter operator is written with curly brackets around the operand then it i ''[search{$:/temp/search}]'': selects all tiddlers containing the string contained in the tiddler titled ''$:/temp/search''. +! Regular Expression Filters + +The field-filter also accepts regular expressions in the form `/regexp/modifier`. Please refer to you favourite JavaScript documentation to learn more about regular expressions and modifiers. + +In the easiest form, regular expressions allow you do do a search on substrings for every field: + +* `title:[/example/]`: searches for all tiddlers having "example" in its title. +* `title:[/example$/]`: `$`is an "anchor" for the end of the text. So "example" has to be the end of the title. +* `text:[/jeremy|ruston/i]`: Searches for tiddlers containing Jeremy's first or last name, ignoring the case. + ! Runs Operators are combined into runs that function as logically ANDed expressions by bashing them together and merging the square brackets: