Toon posts:

[.NET Regex] enkel spaties of 'no character' toelaten

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

ik heb o.m. volgende strings in tekst:

<div class="p7"></div>
<div class="p7"> </div>
<div class="p7"> </div>

Is het mogelijk om met deze een match te krijgen door één enkele .NET regex te gebruiken?
Ik heb nu deze regex:

\<div\sclass\=\"p7\"\>\s+\<\/div\>

Werkt perfect voor 1 of meerdere spaties, maar niet bij voorbeeld 1, wanneer er geen spaties aan te pas komen. Zou dit mogelijk zijn?

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
\s* matcht 0 of meerdere spaties

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Robbiedobbie
  • Registratie: Augustus 2009
  • Laatst online: 15:04
\s+ betekent dat hij 1 of meer whitespace characters matched.
\s* is geen of meer. Dit zou dus moeten werken ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok thanks voor de hulp!
ik was te vroeg, blijkbaar kun je dit ook oplossen door het space-gedeelte in rode haakjes te zetten met een vraagteken erachter:

\<div\sclass\=\"p7\"\>(\s+)?\<\/div\>

Acties:
  • 0 Henk 'm!

  • TheBorg
  • Registratie: November 2002
  • Laatst online: 14-10 14:26

TheBorg

Resistance is futile.

http://www.cheatography.c...eets/regular-expressions/

Ook te downloaden als PDF voor aan de muur.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thanks. wel jammer dat dave child er op staat dan, kon er daar nu geen vrouw op komen :)

Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
(x*)? is een vreemde constructie. Dat is (een of meer keer) * (0 of 1 keer). Als je dat uitvermenigvuldigt kom je op 0 of meer keer. Dat maakt je regex niet efficient.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
(\s*)? ,dat zie ik hier niet staan..

\<div\sclass\=\"p7\"\> *\<\/div\> kan ook zelfs, of \<div\sclass\=\"p7\"\>( *)?\<\/div\>

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op dinsdag 03 maart 2015 @ 15:46:
ok thanks voor de hulp!
ik was te vroeg, blijkbaar kun je dit ook oplossen door het space-gedeelte in rode haakjes te zetten met een vraagteken erachter:

\<div\sclass\=\"p7\"\>(\s+)?\<\/div\>
Dat werkt inderdaad ook maar daar doe je feitelijk net iets anders dan je wilt. Als je die gegevens daartussen wilt hebben (los) dan doe je dat (meestal met '(\s*)' en zonder die ?), zo niet volstaat \s* en dat is efficienter.

All my posts are provided as-is. They come with NO WARRANTY at all.

Pagina: 1