hoi,
ik heb een vraagje over regular expression.
Ik moet een ISBN-nr uitdrukken in een regulier expresie.
(bestaat altijd uit 10 cijfers)
Nu kan dat natuurlijk op de volgende manier:
Of met koppelstreepjes:
(met koppelstreepjes is de (advies)manier die wordt voorgeschreven door de ISBN-Handleiding (zie http://www.isbn-internati.../download/ISBNmanual.pdf"), (mag eventueel ook met spaties ipv koppelstreepjes maar niet volgens deze expressie))
Aangezien dat er voor ieder deel tussen de koppelstreepjes ook regels gelden voor het minimaal en maximale aantal cijfers wil ik ook dit graag in de expresie verwerken. Dat kan dan volgens mij door er een heel aantal te maken met een | (of)-teken ertussen.
Mijn vraag is echter of het ook op een andere manier kan. Via een soort tree.
zeg maar eerst een hele losse en dan steeds specifieker.
Schematische voorstelling (N = Niveau):
N1: Aantal tekens in de string (in dit geval dat 13 (cijfers en streepjes))
N2: Aantal cijfers in het eerste gedeelte (Group identifier)
N2: Aantal cijfers in het tweede gedeelte (Publisher identifier)
N2: Aantal cijfers in het derde gedeelte (Title identifier)
N2: Cijfer voor de Checksum.
dan wel alle N2 op een regel.
N2 zal dan iets worden van:
N1 moet er dan voor zorgen dat het totaal uit 13 tekens bestaat (dus 10 cijfers + 3 streepjes)
Nog even voor de duidelijkheid (zie titel): Het schema moet voldoen aan het door het w3c opgestelde standaar voor schemas (XSD).
ik heb een vraagje over regular expression.
Ik moet een ISBN-nr uitdrukken in een regulier expresie.
(bestaat altijd uit 10 cijfers)
Nu kan dat natuurlijk op de volgende manier:
code:
1
| \p{Nd}{10} |
Of met koppelstreepjes:
code:
1
| \p{Nd|Pd}{13} |
(met koppelstreepjes is de (advies)manier die wordt voorgeschreven door de ISBN-Handleiding (zie http://www.isbn-internati.../download/ISBNmanual.pdf"), (mag eventueel ook met spaties ipv koppelstreepjes maar niet volgens deze expressie))
Aangezien dat er voor ieder deel tussen de koppelstreepjes ook regels gelden voor het minimaal en maximale aantal cijfers wil ik ook dit graag in de expresie verwerken. Dat kan dan volgens mij door er een heel aantal te maken met een | (of)-teken ertussen.
Mijn vraag is echter of het ook op een andere manier kan. Via een soort tree.
zeg maar eerst een hele losse en dan steeds specifieker.
Schematische voorstelling (N = Niveau):
N1: Aantal tekens in de string (in dit geval dat 13 (cijfers en streepjes))
N2: Aantal cijfers in het eerste gedeelte (Group identifier)
N2: Aantal cijfers in het tweede gedeelte (Publisher identifier)
N2: Aantal cijfers in het derde gedeelte (Title identifier)
N2: Cijfer voor de Checksum.
dan wel alle N2 op een regel.
N2 zal dan iets worden van:
code:
1
| \p{Nd}{1,5}\-\p{Nd}{1,7}\-\p{Nd}{1,6}\-\p{Nd}{1} |
N1 moet er dan voor zorgen dat het totaal uit 13 tekens bestaat (dus 10 cijfers + 3 streepjes)
Nog even voor de duidelijkheid (zie titel): Het schema moet voldoen aan het door het w3c opgestelde standaar voor schemas (XSD).