Releases: Jcparkyn/nodexr
v1.6.0
v1.5.0
v1.4.2
v1.4.1
v1.4.0
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:
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
:
Matching a mathematical expression with an equal number of opening and closing parentheses:
Matching an HTML element with nested HTML tags (this doesn't check that the opening and closing tags are the same type):
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.
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.
v1.3.1
Changes
- Removed the ability to delete the Output node or add a second one (this also fixes #107).
- Increased the default size of the bottom panels
- Updated the GitHub Readme
- Added some basic analytics using GoatCounter. This does not use cookies, and no personal information is recorded.
Bugfixes
- Fixed a bug where nodes can be accidentally deleted when pressing Backspace or Delete in a text field.
- Fixed a bug where nodes can be unintentionally restored after being deleted.
v1.3.0
Features/changes
- Nodes and connected noodles are now moved while dragging in realtime. This makes it easier to position nodes, and improves support for Firefox (where the previous drag images were misaligned).
- Removed the drag image when connecting nodes (it was misaligned on Firefox).
- Other various improvements have been made to the drag-drop functionality.
- Fixed the styling of the Regex Options dropdown.
- Nodes are no longer deselected when panning.
- Code improvements to allow for multi-select (#101) and possibly touchscreen support in a future update.
v1.2.2
v1.2.1
v1.2.0
Features/Changes:
- Added tooltips to node inputs explaining their purpose.
- Improved performance when connecting nodes.
- Added an outline to all segments produced by currently selected node (in the output display).
- Added simple tooltips to each segment in the output display.
Bugfixes:
- Fixed bug when using non-greedy search types with ungrouped input.
- Removed focus outlines from buttons.
- Fixed a bug in Firefox where the temporary noodle wasn't displayed correctly while connecting nodes.