» VL: Regular Expressions
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

VL: Regular Expressions

Finally,

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

Regular expressions provide a powerful, flexible, and efficient method for processing text. The extensive pattern-matching notation of regular expressions enables you to quickly parse large amounts of text to find specific character patterns; to validate text to ensure that it matches a predefined pattern (such as an email address); to extract, edit, replace, or delete text substrings.

via docs.microsoft

vvvv beta comes with the RegExpr (String) which is quite handy but doesn't cover all cases. vux provides a RegExpr (String Replace) 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!

joreg, Wednesday, Feb 20th 2019 Digg | Tweet | Delicious 5 comments  
tonfilm 20/02/2019 - 22:57

and whenever you are stuck with your RegEx pattern, this page helps: https://regex101.com/

cyril 26/02/2019 - 22:23

you can test your regex with the online testerhttps://extendsclass.com/regex-tester.html

tonfilm 27/02/2019 - 17:58

@cyril interesting, haven't seen this page before. where do you see the advantages of it over regex101?

cyril 27/02/2019 - 19:21

@tonfilm there is a graphic explanation of the regular expression (instead of a textual explanation on regex101)

tonfilm 01/03/2019 - 18: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!

  • 1

anonymous user login

Shoutbox

~4d ago

~7d ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/

~14d ago

schlonzo: Love the new drag and drop functionality for links in latest previews!

~22d ago

joreg: Workshop on 29 02: Create Sequencers and Precise Clock Based Tools. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-08-create-sequencers-and-precise-clock-based-tools-in-vvvv-gamma/

~29d ago

joreg: Workshop on 22 02: Unlocking Shader Artistry: A Journey through ‘The Book of Shaders’ with FUSE. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-12-book-of-shaders/

~1mth ago

joreg: Talk and Workshop on February 15 & 16 in Frankfurt: https://visualprogramming.net/blog/vvvv-at-node-code-frankfurt/

~1mth ago

woei: @Joanie_AntiVJ: think so, looks doable

~1mth ago

xd_nitro: Anyone remember who increased projector brightness by removing some components that product the color?

~1mth ago

Joanie_AntiVJ: This looks super interesting (vectors over network) would anyone here know how to implement this in beta? https://github.com/madmappersoftware/Ponk