21. januar 2003 - 13:10 Der er 11 kommentarer og
1 løsning

Reg. exp. i ultraedit

Jeg bruger med stor succes regexp'er til at søge i tekst med ultraedit. Der skulle også være muligt at replace, men jeg kan ikke finde ud af hvad der skal stå i hhv. search og replace feltet for at det virker.
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 13:18 #1
Jeg kender ikke lige Ultraedit. Men prøv fx at bytte om på 2 ord:

Søg:  (mad)(oste)
Erstat: \2\1

første parantes hedder 1, den anden hedder 2. Så skulle "madoste" blive
til "ostemad"
21. januar 2003 - 13:27 #2
Tak for det!
21. januar 2003 - 13:28 #3
er du kørt sur i alle pointene:)
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 13:38 #4
Jamen, jeg skulle jo lige vide om det virkede. Er der andre ting
vi skal prøve?
21. januar 2003 - 13:46 #5
OK, hvordan replacer man nummer 2 bogstav i følgende ord der starter med a,b eller c med et d (ikke et intelligent eksempel):

cabe ugle bombe kugle cool

så sætningen hedder

cdbe ugle bdmbe kugle cdol
21. januar 2003 - 13:48 #6
Du får lige pointene på forhånd!
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 13:53 #7
Jeg bliver dig svar skyldig. I EditPlus - som jeg kender bedst - er der
ingen mulighed for at angive ord-grænser. Ord-start hedder fx [[:<:]] i
regulære udtryk i MySql, eller \b i Perl regulære udtryk. Men de er ikke her.
Hvis de nu er i UltraEdit - så fortæl os det, og prøv enten

Søg: [[:<:]]([abcd]).
eller
Søg: \b([abcd]).

Erstat: \1d
21. januar 2003 - 14:02 #8
Nej, den er der godt nok ikke, så det var et dårligt eksempel. Hvad med at udskifte alle steder hvor der står ..be med abe så sætningen bliver til:

cabe ugle boabe kugle cool

Jeg har forresten sat min ultraedit op til at bruge unix-regexp'er som vist er det samme som perls. Følgende syntax er defineret i ultraedit hjælpen:

Symbol    Function
\    Marks the next character as a special character. "n" matches the character "n". "\n" matches a linefeed or newline character.
^    Matches/anchors the beginning of line.
$    Matches/anchors the end of line.
*    Matches the preceding character zero or more times.
+    Matches the preceding character one or more times.
.    Matches any single character except a newline character.
(expression)    Brackets or tags an expression to use in the replace command.A regular expression may have up to 9 tagged expressions, numbered according to their order in the regular expression.The corresponding replacement expression is \x, for x in the range 1-9.  Example: If (h.*o) (f.*s) matches "hello folks", \2 \1 would replace it with "folks hello".
[xyz]    A character set. Matches any characters between brackets.
[^xyz]    A negative character set. Matches any characters NOT between brackets.
\d    Matches a digit character. Equivalent to [0-9].
\D    Matches a nondigit character. Equivalent to [^0-9].
\f    Matches a form-feed character.
\n    Matches a linefeed character.
\r    Matches a carriage return character.
\s    Matches any white space including space, tab, form-feed, etc but not newline.
\S    Matches any nonwhite space character but not newline.
\t    Matches a tab character.
\v    Matches a vertical tab character.
\w    Matches any word character including underscore.
\W    Matches any nonword character.
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 14:28 #9
Så skulle man tro \b virkede ... Har du prøvet?


Søg: (\w)\w(be)
Erstat \1a\2

giver vist noget der ligner det ønskede
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 14:40 #10
PS: Rigtige regulære udtryk, og en rigtig editor: vi
21. januar 2003 - 14:46 #11
Tak for det. Nu ved jeg det jeg skal vide. Det med \b tag'et har jeg prøvet og det virker ikke, men det gør heller ikke noget. Det var bare et eksempel som jeg måske sjældent får brug for. mht. min editor så er den udemærket, men jeg vil da tjekke vi ud. Hvor kan man hente den henne?
Avatar billede erikjacobsen Ekspert
21. januar 2003 - 14:57 #12
Den er altid på Unix-agtige maskiner. Der findes også til Win...hvad er
det nu det hedder. Led selv :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester