Regular expressions. "regexps" "grep" Jan Erik Moström,

Relevanta dokument
Rubriktexten. Tilläggsrubrik. Upphovsperson Avdelning 2012

En mötesplats i centrum

Inbjudan till professor Nome Neskens installation

Frågan om typsnitt för HT sönderfaller

Detta är en dokumentmall för examensarbeten. Dokumentmallen har följande egenskaper:

Grafisk manual. En grafisk guide till vår identitet.

GRAFISK MANUAL Visuell identitet, logotyp och riktlinjer NOVEMBER 2013

Vår grafiska profil. Antagen av direktionen

kontorsmaterial/visitkort

Grafisk manual för Göteborgs rättighetscenter. Regler och ramar för användande av logotyp, färger, typsnitt m.m både inom webb och tryck.

brandbook blågrön innovation

Välkomna till SJÖLOG 2017! Denna blankett är till för er som skall medverka på SJÖLOG 2017 och som skall presenteras i dess katalog.

Grafisk manual 2010/2011 1

Utvärdering av Turistbyrå

Läs Mig Först Med fak

Välkomna! till e-butik.se

GRÄNSÄLVSGYMNASIET. Samhällskunskap 1b. Vårterminen Baksidan av media. En studie om bullar och bakverk i tidningen.

Grafisk Profil. Northai

Denna fil innehåller några förklaringar till mallarna för Spikblad, Titelblad (Inlaga) samt Pärm.

LOGOTYP GO WITH THE FLOW

GRAFISK MANUAL LATHUND

Innehåll. Inledning... 3 Typsnitt & färg... 4 Logotyp... 5 Visitkort... 6 Brevpapper... 7 Kuvert... 8 Produkter... 9 Hemsida... 10

Årsräkning/Sluträkning Period:

Reguljära uttryck. Reguljära uttryck. Nu kommer en siffra78 och en till SIFFRA(78) men utan 7kstuga SIFFRA(89)

Årsräkning/Sluträkning Period:

Godkänd av stadsstyrelsen xx.xx.2010

Manual Manual 1 Senaste uppdatering: 2015/03/26 Olsson & Gerthel

Grafisk profil. Rapporter. uppdaterad

REGLER FÖR ANVÄNDNING AV LOGOTYPER, DEKORFÄRGER OCH TYPSNITT

ÄDELFORS FOLKHÖGSKOLA GRAFISK MANUAL. Ädelfors Folkhögskolas nya grafiska manual gäller fr.o.m. den 1 januari 2015

Titel. kurs uppgift. Författare A & Författare B cid@student.chalmers.se

Profilmanual Version

Logotyp. Så här kan pilen användas i en punktlist. Frizon för logotyp. Minsta tillåtna bredd är 15 mm

Personas och scenarios i webbutveckling - möjligheter och fallgropar. Rósa Guðjónsdóttir - PinkPuffin

Visuell identitet garant

VISUELL IDENTITET FÖR TELTEK

Visuell identitet P4. sveriges radio VER

Riktlinjer och inspiration till dig som gör annonser

Wireframes Arla - Naturens egen sportdryck Christoffer Du Rietz GreatWorks

Modern Demokratisk Trygg

Innehåll. 3. Utskrift under arbetets gång...11

Profilmanual. Övergripande regler och riktlinjer Reviderad:

GRAFISK M A N U A L SVAB

GRAFISK PROFIL Innehåll

KAMPANJPLATS XX Projektplan

FoU primärvård Fyrbodal FoUU-centrum Fyrbodal Lathund för hur man skriver en rapport för en litteraturstudie

Innehåll. 3. Utskrift under arbetets gång...11

Martinsons Grafisk manual. Grafisk Manual

Del 2 Grafisk profil

ROUND TABLE 117 LINKÖPING-FILBYTER

Anvisningar för litteraturstudie kurs Vetenskapligt Förhållningssätt ST-arbete

Vetenskapligt Förhållningssätt

Sara Berlekom Metallvägen Garphyttan Webbplats: Portfolio

Färgkodning: Turism & Evenemang. Näringsliv. Kommun & Samhälle. Nya Gällivare

Grafisk manual

GRAFISK PROFILMANUAL

Grafisk manual

Grafiskt profilprogram 1. Grafiskt profilprogram

BRA. Nytt flygbolag, nya möjligheter. Destinationer. Resenären. Fakta. Mediakanaler. Redaktionell produktion & Projektledning.

SALTSTÄNK. Nummer: 6 Icke RS/TS-kontrollerat medlemsorgan för Göteborgs Sjöscoutkår Årgång: 61

GRAFISKA ANVISNINGAR BUSSPOOLEN - VÄSTERBOTTEN

Alumni International site Kontakta oss A - Ö

Grafisk profil RIKTLINJER OCH STÖD I VÅRT KOMMUNIKATIONSARBETE. osthammar.se

Dagstidningsannonsering med logga mindre än 42 mm. Dagstidningsannonsering med logga större än A5 samt magasin. Vid svartvita annonser.

Innehållsförteckning. Energiservice Skellefteå Grundläggande grafisk manual

Vår grafiska profil en viktig del i hur vi uppfattas.

En oas för trädgårds- och inredningsintresserade som söker efter något fint eller bara vill få inspiration och avkoppling.

Grafisk manual Förbundet Sveriges Arbetsterapeuter. För förtroendevalda

Strategisk informationsförsörjning

Kocktävlingen Äkta Rök E-post

SÅ HÄR SPRIDER VI BILDEN AV HEMSLÖJDEN.

Korpen. Grafisk manual. Version Korpen

Koncept och (lite) gränssnittsdesign Ove Jansson Baserad på tidigare föreläsningar av Jody Foo och Mattias Arvola

Grafiska anvisningar. Evangelisk-lutherska kyrkan i Finland och dess församlingar EV.LUTH. KYRKAN I FINLAND

Yrkeshögskolan Novias grafiska manual för Aboa Mare

Kooperativet OLJA Oberoende Liv Jönköping Assistans

Göteborgsstudier i nordisk språkvetenskap # Lagom lång titel. (Language Summary) av Namn Namnsson

Visuell identitet P2. sveriges radio VER

F10 Mer CSS Dagens agenda

Icke-tvåhet. Anteckningar under färd

Logotyp...3. Typografi...4. Färgpalett...6. Bilder...7. Dekor...8. Utskick Informationsblad Exempel på trycksaker Powerpoint...

SVERIGES RADIO Manual och verktygslåda 1.3

SVERIGES RADIO Manual och verktygslåda 1.0

Version Grafisk manual

RIKSUTSTÄLLNINGARS BARN- & UNGDOMSSTRATEGI

SAMTAL MED OCH OM BOKSTAVEN Att ta fram ett teckensnitt

Version Grafisk manual

varumärkesplattform arjeplogs kommun árjepluove kommuvnna arjeplogs kommun árjepluove kommuvnna

Förslag. Grafisk manual. Förslag

Concept Design. Mattias Arvola

VÄRDENS NYHETER MÖT LEENA. Kundtjänst hjälper dig, sid 8-9 Var med och påverka, sid 3 Så blir nya Telegrafen 12, sid 6-7 LÖVLUNDSVÄGEN SID 4-5

Utgivningsdatum: Utgivare: Falkenbergs kommun Produktion:

DEN BEFRIANDE HEMLIGHETEN VEM ÄR DU?

1. Om GNS-mallen. 1.1 Om mallen. 1.2 Viktiga skillnader

F02 En första sida. Dagens agenda

Designprocessen Användarcentrerad design

Innehållsförteckning. Innehåll

HEMSLÖJDEN /VISUELL IDENTITET. Har du frågor eller funderingar rörande den visuella identiteten?

Walking Dinner i Göteborg!

LISTA WIREFRAMES FÖR SIDOR OCH FLÖDEN

Transkript:

Regular expressions "regexps" "grep"

Reguljära uttryck Relativt vanligt att vi vill manipulera eller söka i text Text är inte alltid strukturerad, exempel emailadresser i ett email Definition av mönster som matchar den text vi är intresserad av

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nisi augue, fermentum ut mi non, aliquam posuere lectus. Aliquam erat volutpat. Donec ac magna nec erat consequat tristique sagittis eget ligula. Cras sit amet nibh mauris. Integer laoreet ut mauris quis posuere. Nullam vel knatte@ankeborg.se velit lectus. Phasellus erat nibh, pellentesque ac nulla et, ultrices posuere mi. Integer blandit lectus id risus malesuada, a adipiscing quam dignissim. Mauris risus tellus, scelerisque sit amet magna vel, hendrerit facilisis quam. Donec venenatis adipiscing mauris, sit amet ullamcorper tellus consectetur id. Suspendisse malesuada elit iaculis egestas ullamcorper. Pellentesque kalle@ankeborg.se vel dolor ut nibh molestie bibendum quis non felis. Cras condimentum nisl et accumsan ornare. Cras magna nisi, faucibus a ipsum eu, semper dignissim orci. Nam molestie tellus vel ullamcorper gravida. Proin urna magna, porta id venenatis id, rhoncus eget ligula. Vestibulum ac scelerisque felis. Duis vel imperdiet urna, sit amet tincidunt sapien. Fusce sit amet libero sed sapien ultricies mollis ut fnatte@ankeborg.se quis nisi. Nunc rhoncus justo eu sodales venenatis. Mauris ultricies neque id suscipit dictum. Nullam feugiat libero lorem, id egestas nisi placerat fringilla. Integer sit amet leo nunc. Nunc suscipit enim nec felis gravida luctus. Sed tempor leo ac purus egestas suscipit. Maecenas tellus neque, imperdiet fringilla bibendum nec, cursus non mauris. Integer in nulla id dui molestie venenatis. Morbi erat orci, suscipit ac libero vitae, pretium lobortis lectus. Duis varius, nulla eu ullamcorper scelerisque, turpis joakim@jva.se turpis volutpat turpis, id dapibus nulla risus sed eros. Pellentesque blandit dui sit amet venenatis volutpat. Etiam semper nunc nisi, sit amet auctor turpis semper et. Nullam aliquam massa tempor sem vehicula, quis rhoncus odio blandit. Sed pellentesque purus ultrices augue lacinia, eget imperdiet dolor varius. Nunc non ligula ac urna pulvinar tempor sit amet quis ligula. Nunc non luctus felis, ac posuere neque. Aenean tjatte@ankeborg.se ullamcorper arcu eros, ac mollis neque luctus vel. Quisque ac odio dolor. Aliquam a neque at magna pellentesque elementum. Etiam vitae ipsum elementum, feugiat eros sed, dictum orci. Mauris ante nisi, venenatis sit amet mi vitae, sagittis iaculis urna. Duis fermentum nibh ac purus tincidunt consectetur.

alla tecken 'a' till 'z' tecknet '@' alla tecken 'A' till 'Z' tecknet '.' [a-za-z.]+@[a-za-z.]+ En mängd med tecken, i detta fall alla stora och små bokstäver 'a' till 'z' plus tecknet '.' Anger hur många gånger innehållet i mängden kan upprepas, '+' betyder "en eller flera gånger" Hela uttrycket: ett eller flera tecken som antingen är de små bokstäverna a till z, de stora bokstäverna A till Z eller en punkt, följt av ett snabel-a, följt av ett eller flera tecken som antingen är de små bokstäverna a till z, de stora bokstäverna A till Z eller en punkt

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nisi augue, fermentum ut mi non, aliquam posuere lectus. Aliquam erat volutpat. Donec ac magna nec erat consequat tristique sagittis eget ligula. Cras sit amet nibh mauris. Integer laoreet ut mauris quis posuere. Nullam vel knatte@ankeborg.se velit lectus. Phasellus erat nibh, pellentesque ac nulla et, ultrices posuere mi. Integer blandit lectus id risus malesuada, a adipiscing quam dignissim. Mauris risus tellus, scelerisque sit amet magna vel, hendrerit facilisis quam. Donec venenatis adipiscing mauris, sit amet ullamcorper tellus consectetur id. Suspendisse malesuada elit iaculis egestas ullamcorper. Pellentesque kalle@ankeborg.se vel dolor ut nibh molestie bibendum quis non felis. Cras condimentum nisl et accumsan ornare. Cras magna nisi, faucibus a ipsum eu, semper dignissim orci. Nam molestie tellus vel ullamcorper gravida. Proin urna magna, porta id venenatis id, rhoncus eget ligula. Vestibulum ac scelerisque felis. Duis vel imperdiet urna, sit amet tincidunt sapien. Fusce sit amet libero sed sapien ultricies mollis ut fnatte@ankeborg.se quis nisi. Nunc rhoncus justo eu sodales venenatis. Mauris ultricies neque id suscipit dictum. Nullam feugiat libero lorem, id egestas nisi placerat fringilla. Integer sit amet leo nunc. Nunc suscipit enim nec felis gravida luctus. Sed tempor leo ac purus egestas suscipit. Maecenas tellus neque, imperdiet fringilla bibendum nec, cursus non mauris. Integer in nulla id dui molestie venenatis. Morbi erat orci, suscipit ac libero vitae, pretium lobortis lectus. Duis varius, nulla eu ullamcorper scelerisque, turpis joakim@jva.se turpis volutpat turpis, id dapibus nulla risus sed eros. Pellentesque blandit dui sit amet venenatis volutpat. Etiam semper nunc nisi, sit amet auctor turpis semper et. Nullam aliquam massa tempor sem vehicula, quis rhoncus odio blandit. Sed pellentesque purus ultrices augue lacinia, eget imperdiet dolor varius. Nunc non ligula ac urna pulvinar tempor sit amet quis ligula. Nunc non luctus felis, ac posuere neque. Aenean tjatte@ankeborg.se ullamcorper arcu eros, ac mollis neque luctus vel. Quisque ac odio dolor. Aliquam a neque at magna pellentesque elementum. Etiam vitae ipsum elementum, feugiat eros sed, dictum orci. Mauris ante nisi, venenatis sit amet mi vitae, sagittis iaculis urna. Duis fermentum nibh ac purus tincidunt consectetur.

början på en rad här, dvs inte i en mängd, betyder punkten vilket tecken som helst Ska finnas minst en gång ^(.+)$ slutet på en rad Kom ihåg vad mönstret hittade "Hitta alla rader som består av minst 1 tecken" För att komma åt vad som hittades här så används "$1" eller "\1" beroende på vilket system som används

Sök efter : ^(.+)$ Ersätt med : <p>\1</p>

<p>lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nisi augue, fermentum ut mi non, aliquam posuere lectus. Aliquam erat volutpat. Donec ac magna nec erat consequat tristique sagittis eget ligula. Cras sit amet nibh mauris. Integer laoreet ut mauris quis posuere. Nullam vel knatte@ankeborg.se velit lectus. Phasellus erat nibh, pellentesque ac nulla et, ultrices posuere mi. Integer blandit lectus id risus malesuada, a adipiscing quam dignissim. Mauris risus tellus, scelerisque sit amet magna vel, hendrerit facilisis quam. Donec venenatis adipiscing mauris, sit amet ullamcorper tellus consectetur id. Suspendisse malesuada elit iaculis egestas ullamcorper. Pellentesque kalle@ankeborg.se vel dolor ut nibh molestie bibendum quis non felis. Cras condimentum nisl et accumsan ornare. Cras magna nisi, faucibus a ipsum eu, semper dignissim orci. Nam molestie tellus vel ullamcorper gravida.</p> <p>proin urna magna, porta id venenatis id, rhoncus eget ligula. Vestibulum ac scelerisque felis. Duis vel imperdiet urna, sit amet tincidunt sapien. Fusce sit amet libero sed sapien ultricies mollis ut fnatte@ankeborg.se quis nisi. Nunc rhoncus justo eu sodales venenatis. Mauris ultricies neque id suscipit dictum. Nullam feugiat libero lorem, id egestas nisi placerat fringilla. Integer sit amet leo nunc. Nunc suscipit enim nec felis gravida luctus. Sed tempor leo ac purus egestas suscipit. Maecenas tellus neque, imperdiet fringilla bibendum nec, cursus non mauris. Integer in nulla id dui molestie venenatis.</p> <p>morbi erat orci, suscipit ac libero vitae, pretium lobortis lectus. Duis varius, nulla eu ullamcorper scelerisque, turpis joakim@jva.se turpis volutpat turpis, id dapibus nulla risus sed eros. Pellentesque blandit dui sit amet venenatis volutpat. Etiam semper nunc nisi, sit amet auctor turpis semper et. Nullam aliquam massa tempor sem vehicula, quis rhoncus odio blandit. Sed pellentesque purus ultrices augue lacinia, eget imperdiet dolor varius. Nunc non ligula ac urna pulvinar tempor sit amet quis ligula. Nunc non luctus felis, ac posuere neque. Aenean tjatte@ankeborg.se ullamcorper arcu eros, ac mollis neque luctus vel. Quisque ac odio dolor. Aliquam a neque at magna pellentesque elementum. Etiam vitae ipsum elementum, feugiat eros sed, dictum orci. Mauris ante nisi, venenatis sit amet mi vitae, sagittis iaculis urna. Duis fermentum nibh ac purus tincidunt consectetur.</p>

Sök efter : ([a-za-z.]+)@([a-za-z.]+) Ersätt med : <a href="mailto:\1@\2">\1</a>

<p>lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nisi augue, fermentum ut mi non, aliquam posuere lectus. Aliquam erat volutpat. Donec ac magna nec erat consequat tristique sagittis eget ligula. Cras sit amet nibh mauris. Integer laoreet ut mauris quis posuere. Nullam vel <a href="mailto:knatte@ankeborg.se">knatte</a> velit lectus. Phasellus erat nibh, pellentesque ac nulla et, ultrices posuere mi. Integer blandit lectus id risus malesuada, a adipiscing quam dignissim. Mauris risus tellus, scelerisque sit amet magna vel, hendrerit facilisis quam. Donec venenatis adipiscing mauris, sit amet ullamcorper tellus consectetur id. Suspendisse malesuada elit iaculis egestas ullamcorper. Pellentesque <a href="mailto:kalle@ankeborg.se">kalle</a> vel dolor ut nibh molestie bibendum quis non felis. Cras condimentum nisl et accumsan ornare. Cras magna nisi, faucibus a ipsum eu, semper dignissim orci. Nam molestie tellus vel ullamcorper gravida.</p> <p>proin urna magna, porta id venenatis id, rhoncus eget ligula. Vestibulum ac scelerisque felis. Duis vel imperdiet urna, sit amet tincidunt sapien. Fusce sit amet libero sed sapien ultricies mollis ut <a href="mailto:fnatte@ankeborg.se">fnatte</a> quis nisi. Nunc rhoncus justo eu sodales venenatis. Mauris ultricies neque id suscipit dictum. Nullam feugiat libero lorem, id egestas nisi placerat fringilla. Integer sit amet leo nunc. Nunc suscipit enim nec felis gravida luctus. Sed tempor leo ac purus egestas suscipit. Maecenas tellus neque, imperdiet fringilla bibendum nec, cursus non mauris. Integer in nulla id dui molestie venenatis.</p> <p>morbi erat orci, suscipit ac libero vitae, pretium lobortis lectus. Duis varius, nulla eu ullamcorper scelerisque, turpis <a href="mailto:joakim@jva.se">joakim</a> turpis volutpat turpis, id dapibus nulla risus sed eros. Pellentesque blandit dui sit amet venenatis volutpat. Etiam semper nunc nisi, sit amet auctor turpis semper et. Nullam aliquam massa tempor sem vehicula, quis rhoncus odio blandit. Sed pellentesque purus ultrices augue lacinia, eget imperdiet dolor varius. Nunc non ligula ac urna pulvinar tempor sit amet quis ligula. Nunc non luctus felis, ac posuere neque. Aenean <a href="mailto:tjatte@ankeborg.se">tjatte</a> ullamcorper arcu eros, ac mollis neque luctus vel. Quisque ac odio dolor. Aliquam a neque at magna pellentesque elementum. Etiam vitae ipsum elementum, feugiat eros sed, dictum orci. Mauris ante nisi, venenatis sit amet mi vitae, sagittis iaculis urna. Duis fermentum nibh ac purus tincidunt consectetur.</p>

Reguljära uttryck Viktigt Användbart på många ställen: texteditorer, ordbehandlare, IDE, programspråk, etc Många resurser http://regex.info http://www.regular-expressions.info http://regexlib.com http://regexlib.com/cheatsheet.aspx

Java Pattern och Matcher Ett Pattern-objekt innehåller ett kompilerat reguljärt uttryck Matcher används för att göra själva sökningen String-klassen innehåller också några funktioner för att jobba med reguljära uttryck

String-klassen matches - kollar om strängen uppfyller ett regexp eller inte replaceall - ersätter alla förekomster av ett reguljärt uttryck replacefirst - ersätter första förekomsten av ett reguljärt uttryck split - använd ett reguljärt uttryck för att tala om vart en sträng ska delas upp

import java.util.regex.*; public class RegExpDemo1 { private static final String SearchPattern = "([a-za-z.]+)@([a-za-z.]+)"; private static final String SourceString = "ut mi non, knatte@ankeborg.se aliquam posuere lectus."; public static void main( String args[] ) { Pattern p = Pattern.compile( SearchPattern ); Matcher m = p.matcher( SourceString ); } } System.out.println( m.replaceall( "<a href=\"mailto:$1@$2\">$1</a>" )); ut mi non, <a href="mailto:knatte@ankeborg.se">knatte</a> aliquam posuere lectus.

import java.util.regex.*; public class RegExpDemo2 { private static final String SearchPattern = "([a-za-z.]+)@([a-za-z.]+)"; private static final String SourceString = "Lorem ipsum dolor sit amet,..."; public static void main( String args[] ) { Pattern p = Pattern.compile( SearchPattern ); Matcher m = p.matcher( SourceString ); } } while( m.find() ){ System.out.println( m.group() + " start " + m.start() + " end " + m.end() ); } knatte@ankeborg.se start 285 end 303 kalle@ankeborg.se start 685 end 702 fnatte@ankeborg.se start 1104 end 1122 joakim@jva.se start 1640 end 1653 tjatte@ankeborg.se start 2078 end 2096

Ett annat exempel Visar på hur man kan kombinera olika metatecken och positioner Det finns antagligen bättre sätt att skriva detta på men vill visa på metatecken Uppgiften är att hitta alla ord som börjar på w

import java.io.*; import java.util.regex.*; public class Demo03 { private final static String EXAMPLE = "example.txt"; private final static String PATTERN = "reguljära uttrycket här"; private static String gettext( ) { char inp[] = new char[1000]; try{ Reader input = new BufferedReader( new FileReader( EXAMPLE ) ); input.read( inp ); } catch ( java.io.filenotfoundexception fnf ) { fnf.printstacktrace(); } catch ( java.io.ioexception io ){ io.printstacktrace(); } return new String(inp); } public static void main( String[] argv ) { Pattern p = Pattern.compile( PATTERN ); Matcher m = p.matcher( gettext() ); } } while( m.find() ){ System.out.println( m.group( ) ); }

Demotext This is a short demo string that can be used by those who wants to play with some regular expressions. Regular expressions, or as they sometimes are called, "regexps" are useful. What can you say: wiff,wiff perhaps or between words

Försök nr 1 "w.*" Bokstaven w 0 eller fler gånger Vilket tecken som helst > java Demo03 who wants to play with some regular expressions. Regular wiff,wiff perhaps or between words

Försök nr 2 "w[^ ]*" 0 eller fler gånger Bokstaven w icke Tecknet En mängd av tecken who wants with wiff,wiff ween words

Försök nr 3 " w[^ ]*" 0 eller fler gånger Bokstaven w icke Tecknet En mängd av tecken who wants with wiff,wiff

Försök nr 4 " w\\w*" " w\w*" 0 eller fler gånger Tecknet Bokstaven w Metatecknet ordtecken who wants with wiff

Försök nr 5 Betyder ordgräns "\bw\w*\b" "\\bw\\w*\\b" 0 eller fler Bokstaven w who wants gånger Metatecknet ordtecken with wiff wiff words

\A Början av en sträng \b Ordgräns \B Inte en ordgräns \d Siffra \D Inte en siffra \s whitespace \S Inte whitespace \t Tab \w ordtecken \W Inte ordtecken \z Slut på sträng \Z Slut på sträng eller före nyrad

* 0 eller flera gånger + 1 eller flera gånger? 0 eller 1 {count} {min,} {min,max} Exact count gånger Minst min gånger min x max *? 0 eller fler (minimalt) +? 1 eller fler (minimalt)?? 0 eller 1 (minimalt) {min,}? Minst min gånger (minimalt) {min,max}? min x max (minimalt)

Ta bort mellanslag i början på raden public static void main( String[] argv ) { Pattern p = Pattern.compile( PATTERN ); Matcher m = p.matcher( gettext() ); } System.out.println( m.replaceall( "" ) );

Försök 1 "^\\s*" 0 eller fler Början på raden gånger Metatecknet white space > java Demo04 This is a short demo string that can be used by those who wants to play with some regular expressions. Regular expressions, or as they sometimes are called, "regexps" are useful. What can you say: wiff,wiff perhaps or between words

Försök 2 public static void main( String[] argv ) { Pattern p = Pattern.compile( PATTERN, Pattern.MULTILINE ); Matcher m = p.matcher( gettext() ); } System.out.println( m.replaceall( "" ) ); "^\\s*" > java Demo05 This is a short demo string that can be used by those who wants to play with some regular expressions. Regular expressions, or as they sometimes are called, "regexps" are useful. What can you say: wiff,wiff perhaps or between words

Ta bort radbrytningar och bara ett mellanslag "\\n \\s+" > java Demo06 This is a short demo string that can be used by those who wants to play with some regular expressions. Regular expressions, or as they sometimes are called, "regexps" are useful. What can you say: wiff,wiff perhaps or between words

"\\n\\s* \\s+" > java Demo06 This is a short demo string that can be used by those who wants to play with some regular expressions. Regular expressions, or as they sometimes are called, "regexps" are useful. What can you say: wiff,wiff perhaps or between words

Saknar Har inte lyckats hitta möjligheten att definiera funktionsanrop i uttryck i java.util.regexp Jag kanske är blind men