|
| VI: search/replace Fra : Kim Emax |
Dato : 07-04-03 14:53 |
|
Hey
Har nogle linie numre + mellemrum jeg vil fjerne fra en fil, hvorfor pokker
virker dette ikke?
%s/^[0-9]+ //g
%s/"^[0-9]+ "//g
Jeg får "Pattern not found: ^[0-9]+", det er sguda en valid regexp, overser
jeg noget?
Del af koden, der skal matches:
2 # design by
31 # pruit:
32 # piece of code.
33 $type = 0;
34
35 # trallalala:
36 $n = 10;
101 # a gnu is a fine animal
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Peter Dalgaard BSA (07-04-2003)
| Kommentar Fra : Peter Dalgaard BSA |
Dato : 07-04-03 16:24 |
|
"Kim Emax" <newsgroup@remove-emax.dk> writes:
> Hey
>
> Har nogle linie numre + mellemrum jeg vil fjerne fra en fil, hvorfor pokker
> virker dette ikke?
>
> %s/^[0-9]+ //g
> %s/"^[0-9]+ "//g
>
> Jeg får "Pattern not found: ^[0-9]+", det er sguda en valid regexp, overser
> jeg noget?
>
> Del af koden, der skal matches:
>
> 2 # design by
> 31 # pruit:
> 32 # piece of code.
> 33 $type = 0;
> 34
> 35 # trallalala:
> 36 $n = 10;
> 101 # a gnu is a fine animal
Jatak, men hvilken slags regexp er det nu lige vi forstår? Følgende virker:
%s/^[0-9][0-9]* *//
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
| |
Peter Jensen (07-04-2003)
| Kommentar Fra : Peter Jensen |
Dato : 07-04-03 17:58 |
|
Peter Dalgaard BSA wrote:
>> Har nogle linie numre + mellemrum jeg vil fjerne fra en fil, hvorfor
>> pokker virker dette ikke?
>>
>> %s/^[0-9]+ //g
>> %s/"^[0-9]+ "//g
>>
>> Jeg får "Pattern not found: ^[0-9]+", det er sguda en valid regexp,
>> overser jeg noget?
>
> Jatak, men hvilken slags regexp er det nu lige vi forstår? Følgende
> virker:
>
> %s/^[0-9][0-9]* *//
Og hvis whitespace evt. skulle være noget andet end mellemrum (f.eks.
<TAB>), så kunne man jo bruge %s/^[0-9][0-9]*[[:space:]]*// i stedet.
--
PeKaJe
Integrity has no need for rules.
| |
Kim Emax (07-04-2003)
| Kommentar Fra : Kim Emax |
Dato : 07-04-03 20:02 |
|
Peter Dalgaard BSA wrote:
> Jatak, men hvilken slags regexp er det nu lige vi forstår? Følgende
> virker:
ikke forstået? Er godt klar over at der er forskel på måden man f.eks. i PHP
bruger preg_match() og ereg() funktionerne, men er + (en eller flere) ikke
universel? Hvordan vil jeg så gøre, hvis jeg ønsker en eller flere matches
af en række tegn? som du har angivet nedenfor? Det virker bare lidt fjollet,
hvis jeg er nød til at lave [0-9a-z_\.-][0-9a-z_\.-]* ved tjek på karakterer
foran @ i en e-mail adresse, [0-9a-z_\.-]+ er kortere...
> %s/^[0-9][0-9]* *//
Den virkede...
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Lars Kongshøj (07-04-2003)
| Kommentar Fra : Lars Kongshøj |
Dato : 07-04-03 20:42 |
|
Kim Emax wrote:
> ikke forstået? Er godt klar over at der er forskel på måden man f.eks. i PHP
> bruger preg_match() og ereg() funktionerne, men er + (en eller flere) ikke
> universel?
Nej "+" er noget nymodens (1), overflødigt (2) pjat. (3)
(1) Første version af vi blev vist skrevet i midten af halvfjerdserne.
(2) Se omskrivning nedenfor.
(3) Jeg glemte vist en smiley. Her er den:
> Hvordan vil jeg så gøre, hvis jeg ønsker en eller flere matches
> af en række tegn?
xx* = ét eller flere x'er.
--
Lars Kongshøj
http://www.kongshoj.com/
| |
|
|