vADC Docs

Useful Regular Expressions

by aidan.clarke on ‎02-13-2013 06:39 AM (1,922 Views)

A document to hold useful regular expressions that I have pulled together for things:

RegExr is a great and very handy online tool for checking regular expression matches: RegExr

  • A regex to validate a password string to ensure it does not contain dangerous punctuation characters and is less than 20 characters long.  useful for Stingray Application Firewall form field protection in login pages:

^[^;,{}\[\]\$\%\*\(\)<>:?\\/'"`]{0,20}$




  • A regex to check that a password has at least one Uppercase, Lowercase, Numbers and Punctuation from the approved list and is at least 8 but less than 20 characters.

^(?=.*[A-Z])(?=.*[a-z])(?=.*[\\@^!\.,~-])(?=.*\d)(.{8,20})$




  • A regex to check a field has a valid email address in it

^[^@]+@[^@]+\.[^@]+$




Comments
by dnahas
on ‎03-01-2013 01:03 PM

+Nice addition for Stingray Application Firewall form field protection

by eaengqu
on ‎03-03-2017 01:32 PM

So I have been trying to come up with a regex that would exclude lines with the word Fan and the include lines with temp in them (and without the word Fan)

by aidan.clarke
on ‎03-05-2017 09:03 PM

eaengqu,

  When looking for assistance with Regex, it is very helpful to include sample text that you are looking to match and an idea of what platform / toolset you are running the regex match on.

 

I assume from your "temp" and "Fan" you are looking for a regex to give you temperatures from something, but don't want any Fan temperatures (ie: you want "CPU temp" and "Chassis temp", but not "Fan temp")

 

Regex gets tricky with exclusions. If your system doesn't need to be scaled to multiple gigabits of throughput (ie: doing the match in two operations won't break the CPU bank) you would probably be best to do this in two separate operations: first match "temp" then exclude lines that match "Fan" for example.

 

Most of the use cases I can think of for what you have asked are health checks as a shell script or scripting language (rather than using TrafficScript to parse HTML response data from a server, for instance)

 

Can you provide us with some sample data and an idea of what tool you are using to match this? If we can get that, we can be more helpful in suggesting a solution.

by PaulWallace
on ‎03-22-2017 09:47 AM

Hello eaengqu, I did not see which platform you are using - the best method might depend on the platform and throughput restrictions. As Aidan said above, you may find it easier (and more efficient) to run two separate test: first match "temp" - then exclude any of those lines which also include "Fan."

 

Alternatively, this single regex expression might work, depending on which platform you are using:

The regex matches any line with "temp" - where "Fan" does not appear before or after "temp" in the same line

 

^((?!.*Fan).*temp(?!.*Fan).*)$