VL: Regular Expressions

February 20, 2019 posted by: joreg

Finally,

we have regular expressions in vl. What the? Here is the gist:

vvvv beta comes with the RegExpr (String)node which is quite handy but doesn’t cover all cases. vuxuser provides a RegExpr (String Replace)node via the addonpack, which adds the “replace” case, but there is more. So let’s see what we got in shop for vvvv gamma:

Pattern matching

The simplest case: Just figure out if a given string matches a given pattern:

Is the input a valid email address?

Replacing by pattern

Sometimes a simple replace by string is not enough. See this example where we’re stripping a string of all occurences of html-tags, ie. replacing them with nothing.

Removing html tags from a string

Splitting by pattern

Sometimes a split by string is not enough. See this example where we’re splitting a string by any multiple occurances of lowercase letters:

Splitting a string at a pattern

Finding occurences by pattern

Find all substrings that match a given pattern. Imagine a string that contains many dates written in the format “Month Day, Year” and you want to get all of those:

Extracting all occurences of dates in the input string

RegexOptions

The last pin on all of the above nodes is the Options enum pin. Since this enum allows multiple selections (ie. a bitwise combination of its member values), there is a RegexOptions node that allows you to set multiple of the options at the same time:

Choosing multiple regex options at the same time

And more

The above should cover most typical usecases. But regular expressions can do even more. Luckily with vl you’re not restricted to what we decide to provide for you, but you have direct access to the full set of functionality .NET regular expressions offer. For example there are situations where you want to use the static operations that .NET provides instead of the process nodes shown above. If so, simply choose “Advanced” in the nodebrowser and, navigate to the “Regex” type and choose the static operations from there…

Static regex operations available among the advanced nodes

Available for testing in latest alphas now!


Comments:

Comments are no longer accepted for this post.

tonfilm
20.02.2019 - 21:57
and whenever you are stuck with your RegEx pattern, this page helps: https://regex101.com/
cyril
26.02.2019 - 21:23
you can test your regex with the online tester https://extendsclass.com/regex-tester.html
tonfilm
27.02.2019 - 16:58
@cyril interesting, haven’t seen this page before. where do you see the advantages of it over regex101?
cyril
27.02.2019 - 18:21
@tonfilm there is a graphic explanation of the regular expression (instead of a textual explanation on regex101)
tonfilm
01.03.2019 - 17:54
ah, thanks for that. it appears after you entered the regex, that’s why i didn’t see it before. they do a good job visualizing the expression. thanks for the link!

Contact


Imprint

vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955

groupӘvvvv.org

Follow us

Mastodon.social
Pixelfed.social
Github
Vimeo
Youtube

Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.