36. Di che si tratta?
uò essere riutilizzato subito o in seguito per manipolare
i dipende dal linguaggio usato.
37. Esempio
<a href="http://test.com">test</a>
Applichiamo a questo testo l'espressione
<a href="/(.*?)">(.*?)</a>/
l sistema scompone la stringa in cinque gruppi, in questo modo:
<a href="http://test.com">test</a>
l sistema scompone la stringa in cinque gruppi, numerandoli da 1 a 5
38. Esempio
usare questi gruppi come blocchi del Lego e costruire il risultato che c
n PHP,
<a href="/)(.*?)(">)(.*?)(</a>)',$1.$2.$3.$2.$5 , "<a href="http://test.co
test.com">http://test.com</a>
39. Nomi dei gruppi catturati
Il nome dato ad ogni gruppo dipende dal linguaggio utilizzato
Gruppo 1 PHP .NET Perl Ruby sed Javascript
1 X X X X
$1 X X X X
${1} X X X
40. Nome del gruppo trovato
Esiste anche il "gruppo 0", ovvero l'intero testo trovato
Gruppo 1 PHP .NET Perl Ruby sed Javascript
0 X X
$0 X X
.
${0} X X X
& X
$& X X X
41. Di che si tratta?
uò essere riutilizzato subito o in seguito per manipolare
i dipende dal linguaggio usato.
44. Esempio: ruby
#!/usr/bin/ruby
phone = "2004-959-559
# Togli tutto tranne i numeri
phone = phone.gsub!(/D/, "")
#ora la variabile numero è uguale a
2004959559
45. Esempio: grep
ricerca di righe in "files" che contengono
grep strano files ...la parola strano
grep '^strano' files ...solo a inizio riga
grep 'strano$' files ...solo a fine riga
grep '^strano$' files ...solo la parola strano
grep '[Ss]trano' files ... strano o Strano
grep '^$' files ... righe vuote
grep '[0-9][0-9]' file ... coppie di cifre
46. Esempio: Javascript
var espressione = /^[a-z0-9]/;
var stringa = "Unastringa";
if (!espressione.test(stringa))
{ document.write("La stringa non è valida!"); }
----------------------------------------------------
var string2="(304)434-5454"
parsestring2=string2.replace(/[()-]/g, "")
//restituisce "3044345454", toglie "(", ")", e "-")
47. Esempio: grep
ricerca di righe che contengono
grep strano file ...la parola strano
grep '^strano' files ...solo a inizio riga
grep 'strano$' files ...solo a fine riga
grep '^strano$' files ...solo la parola strano
grep '[Ss]trano' files ... strano o Strano grep
grep '^$' files ... righe vuote
grep '[0-9][0-9]' file ... coppie di cifre
48. Esempio: Java
l titolo di una pagina HTML
"(?i)(<title.*?>)(.+?)(</title>)";
dated = EXAMPLE_TEST.replaceAll(pattern, "$2");
sce true se la stringa è esattamente "True" o "true, "Yes
olean isTrueOrYes(String s){
s.matches("[tT]rue|[yY]es"); }
49. Esempio: Java
gex.Matcher; import java.util.regex.Pattern;
xTestPatternMatcher {
inal String EXAMPLE_TEST = "This is my small example string which I'm going to use for p
void main(String[] args) {
pattern = Pattern.compile("w+",CASE_INSENSITIVE);
matcher = pattern.matcher(EXAMPLE_TEST);
lla tutte le occorenze
atcher.find()) {
em.out.print("Start index: " + matcher.start());
em.out.print(" End index: " + matcher.end() + " ");
em.out.println(matcher.group());}
sci tutt gli spazi con tabi
eplace = Pattern.compile("s+");
matcher2 = replace.matcher(EXAMPLE_TEST);
out.println(matcher2.replaceAll("t")); } }
50. Esempio: C++
ard per le regex. Occorre studiarsi la versione
ce(str, rx, replacement);