Säännöllisiä lauseita (eng. Regular expressions) käytetään tunnistamaan esimerkiksi haitallinen koodi. Niiden avulla voidaan tekstistä löytää esimerkiksi vahinkoa aiheuttavat merkit tai koodin pätkä. 

Useimmat käytössä olevat ohjelmistokielet tarjoavat ainakin jollakin tasolla RegExp tuen, itse ReqExp:n esitystapa on ohjelmointikielestä riippuvainen. Esimerkiksi Perl tarjoaa erittäin vahvan RegExp tuen mutta sen esitystapa poikkeaa huomattavasti esimerkiksi Javan tai C++:n vastaavasta.

Yleisiä RegExp esimerkkejä

  • a|b* denotes {ε, "a", "b", "bb", "bbb", ...}

  • (a|b)* denotes the set of all strings with no symbols other than "a" and "b", including the empty string: {ε, "a", "b", "aa", "ab", "ba", "bb", "aaa", ...}

  • ab*(c|ε) denotes the set of strings starting with "a", then zero or more "b"s and finally optionally a "c": {"a", "ac", "ab", "abc", "abb", "abbc", ...}
  • (0|(1(01*0)*1))* denotes the set of binary numbers that are multiples of 3: { ε, "0", "00", "11", "000", "011", "110", "0000", "0011", "0110", "1001", "1100", "1111", "00000", ... }

Qt:n esimerkki

http://doc.qt.io/qt-5/qregexpvalidator.html 

Perl esimerkki

http://perldoc.perl.org/perlrequick.html

 

Lisää aiheesta

https://en.wikipedia.org/wiki/Regular_expression 

  • No labels
You must log in to comment.