Skip to content

v1.4.0

Compare
Choose a tag to compare
@Jcparkyn Jcparkyn released this 24 Oct 12:41
· 216 commits to master since this release
2138c47

Features/Changes

This update adds five new nodes with more advanced functionality. Most of these use combinations of the existing nodes to construct commonly used patterns. These nodes cover a lot of common use cases, and drastically reduce the number of nodes needed in a lot of scenarios. Currently, none of the new nodes will be preserved after using the 'Create Shareable Link' or 'Edit' buttons (this is due to a limitation with how the link sharing is currently implemented).

  • Decimal: Matches a decimal/floating point number. This node can match numbers with or without a decimal place, as well as numbers without an integer part (e.g. .5). The node also includes options for a sign (+-) and a 'digit separator' to separate groups of digits.
  • Integer: Matches an integer (whole number). This node can simply be used as an alternative to the 'Wildcard' node for numbers, but where it really comes in useful is with Limit By set to Value. In this mode, the node will only match numbers within the specified (positive) range.
  • Optional: Makes the input nodes optional. This is equivalent to using a Quantifier node with Repetitions: 'Zero or one'.
  • List: Matches a list of similar items, with a separator between each one (and no trailing separator).
  • Recursion: Matches recursively nested expressions with brackets, using the 'Balancing Groups' feature of .NET regular expressions. This node relies on making sure that the number of opening and closing brackets are the same. Full regular expressions can also be used in the 'bracket' fields for more complex tasks (such as a rudimentary HTML parser).

Example use cases

Matching an IPv4 address with values in the range 0-255, and leading zeros allowed:
chrome_2020-10-24_23-03-24
Matching a list of 1 or more floating point numbers, each separated by a comma (with optional whitespace), and each having an optional positive or negative exponent. The numbers are each stored in a capturing group called num:
chrome_2020-10-24_23-13-07
Matching a mathematical expression with an equal number of opening and closing parentheses:
chrome_2020-10-24_23-18-05
Matching an HTML element with nested HTML tags (this doesn't check that the opening and closing tags are the same type):
chrome_2020-10-24_23-26-44
Matching a comma-separated list of times, in a variety of formats. Only times with an hour value from 0-23 and valid minute/second values (0-59) are matched.
firefox_2020-10-24_23-35-31

Other changes

  • Used a new input type (Range) to simplify the Quantifier node and the related quantifiers built into the Wildcard, Character Set, and Whitespace nodes.
  • Various refactorings and a few small bug fixes.