[C#] Regular Expressions & newlines *

Pagina: 1
Acties:

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 23-05 13:27
Voor me werk ben ik bezig met iets uit een databse te halen dat werkt goed.
De designer van die DB is er zo een die veel te veel dope op had toen die het designde en niet meer normaal kon gedragen.

Anyways:
In een veld zitten dus new lines en ik ben bezig die string die er instaat te pakken en te matchen aan een regexp

code:
1
2
3
4
Regex image = new Regex( @"(?<begindata>.*)[img](?<imgding>\S+)\s(?<einddata[/img].*)");
                Match matches = image.Match(QML_DATA);
                string imgnr = matches.Groups["imgding"].ToString();
                string newstring = matches.Groups["begindata"].ToString() + "<EMBED SRC=" + matches.Groups["imgding"].ToString() + ">" + matches.Groups["einddata"].ToString();


met al mijn normale verstand dacht ik dus dat .* gelijk aan alles was maar dat blijkt dus niet zo te zijn. Uit een google search + UTTS + Faq kwam ik nog nergens. Iemand een idee waar ik verder zou kunnen zoeken.

Strava | Runkeeper | Endomondo (mijn leikr uploads)


  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 12:34

Tux

Is het niet gewoon .*? zoals in de andere regexps. Alleen dan pakt hij volgens mij nog geen newlines.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Verwijderd

In sommige omstandigheden betekent .* alle tekens behalve newlines. Soms moet je dan een modifier toevoegen die zorgt dat een dot ook een newline matcht. Je kunt ook schrijven: (\n|.)*
Ik weet helaas niet hoe het in C# precies werkt.

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 23-05 13:27
Cheatah das precies wat ik nodig had.
thanx!

Strava | Runkeeper | Endomondo (mijn leikr uploads)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

Je zou natuurlijk ook ff over msdn kunnen surfen. Ik ben begonnen bij de regexp class en ben uiteindelijk hier uitgekomen waar het gewoon te lezen viel ;). Misschien ook handig voor volgende problemen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 23-05 13:27
@janoz
handig voor in de FAQ?
check de regexp faq btw de tweakers url mag maybe wat venieuwt worden naar een react versie :)

enne ik zit al de halve dag op MSDN in de classlibrary

Strava | Runkeeper | Endomondo (mijn leikr uploads)


  • Juup
  • Registratie: Februari 2000
  • Niet online
[.\n] is sneller dan (\n|.) omdat het pipe-teken wordt gebruikt voor multi-karakter strings.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

cybermans schreef op 05 augustus 2004 @ 15:29:

enne ik zit al de halve dag op MSDN in de classlibrary
Grappig, ik eigenlijk nooit (heb je als j2ee ontwikkelaar ;) ) maar had het toch binnen 5 minuten gevonden ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Juup schreef op 06 augustus 2004 @ 12:14:
[.\n] is sneller dan (\n|.) omdat het pipe-teken wordt gebruikt voor multi-karakter strings.
lieverd, een punt in een characterclass matched een letterlijke punt ;)
iets al [\s\S] kan echter wel :)

[ Voor 7% gewijzigd door crisp op 06-08-2004 13:51 ]

Intentionally left blank

Pagina: 1