12. A non-transitory computer readable medium comprising program instructions executable on a processor to perform operations comprising: displaying first text data stored in a text buffer using a graphical user interface, the first text data comprising a plurality of text characters; receiving a first user selection of a first set of characters in the first text data selected via the graphical user interface; receiving a first user request to define the selected first set of characters in the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via graphical user interface; and receiving a second user selection of a second set of characters in the first text data selected via the graphical user interface; receiving a second user request to define the selected second set of characters in the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second set of characters; and defining an expression including the defined must token and defined property token, wherein the must type identifies that the first selected set of characters in the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected set of characters in other text data evaluated against the expression correspond to a value in a property name/value pair.
12. A non-transitory computer readable medium comprising program instructions executable on a processor to perform operations comprising: displaying first text data stored in a text buffer using a graphical user interface, the first text data comprising a plurality of text characters; receiving a first user selection of a first set of characters in the first text data selected via the graphical user interface; receiving a first user request to define the selected first set of characters in the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via graphical user interface; and receiving a second user selection of a second set of characters in the first text data selected via the graphical user interface; receiving a second user request to define the selected second set of characters in the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second set of characters; and defining an expression including the defined must token and defined property token, wherein the must type identifies that the first selected set of characters in the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected set of characters in other text data evaluated against the expression correspond to a value in a property name/value pair. 14. The computer readable medium of claim 12 further comprising instructions for: rendering a graphical representation of the first text data; and displaying both the graphical representation of the first text data and the unrendered first text data.