[JAVA] Regular expressions class

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik ben op dit moment nog een newbie op het gebied van Java.
Ik kwam er in ieder geval achter dat Java standaard geen ondersteuning voor regular expressions biedt.

Echter ik ben wat gaan zoeken op internet en vond wel heel wat packages die ondersteuning voor regular expressions in Java bieden. Door het grote aanbod zie ik echter door de bomen het bos niet meer.

Hebben jullie ervaring met bepaalde regular expressions packages en welke kan ik het beste gebruiken?

It’s nice to be important but it’s more important to be nice


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

download versie 1.4 beta2 daar zitten wel standaard regex in :)

Verwijderd

wasigh: Download versie 1.4 beta2 daar zitten wel standaard regex in :)
Voor bepaalde waarden van regex. >:)

Het is best aardig, maar geen Perl. ;)

  • tomato
  • Registratie: November 1999
  • Niet online
Op maandag 29 oktober 2001 16:26 schreef Arien het volgende:
Voor bepaalde waarden van regex. >:)

Het is best aardig, maar geen Perl. ;)
Als we zo gaan beginnen... welke regex engine is dan wel cool behalve die van perl? PCRE zeker :P

Verwijderd

tomato: Als we zo gaan beginnen... welke regex engine is dan wel cool behalve die van perl? PCRE zeker :P
:D

Ik zat dit weekend wat te spelen met regexen in Java en wilde toen wat geavanceerde dingen doen waar hij geen chocola van kon maken. |:( Toen maar in de docs gekeken en daar stond [vrije vertaling] dat het net Perl was. :D

  • tomato
  • Registratie: November 1999
  • Niet online
Op maandag 29 oktober 2001 16:57 schreef Arien het volgende:
Toen maar in de docs gekeken en daar stond [vrije vertaling] dat het net Perl was. :D
Oei :o
Niet zo slim om dat in de docs van een regex package te zetten :D

PCRE is trouwens ook nogal een overdreven benaming ;)

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op maandag 29 oktober 2001 16:57 schreef Arien het volgende:
Ik zat dit weekend wat te spelen met regexen in Java en wilde toen wat geavanceerde dingen doen waar hij geen chocola van kon maken. |:( Toen maar in de docs gekeken en daar stond [vrije vertaling] dat het net Perl was. :D
Ik ben niet zo'n grote regex-expert als jullie, maar ik vond het zelf toch wel behoorlijk compleet :) Dus nu ben ik wel nieuwsgierig over welke perl-regex-feature het was waar ie over struikelde.

Verwijderd

marcusk: Ik ben wel nieuwsgierig over welke perl-regex-feature het was waar ie over struikelde.
code:
1
(?(condition)foo|bar)

Staat ook bij de "uitzonderingen" in de omschrijving.

Het is allemaal wel redelijk compleet hoor, alleen dit verhaal vond ik wat vreemd:
Constructs supported by this class but not by Perl:
* Possessive quantifiers, which greedily match as much as they can and do not back off, even when doing so would allow the overall match to succeed.
* Character-class union and intersection. Character classes may appear within other character classes, and may be composed by the union operator (implicit) and the intersection operator (&&). The union operator creates a new class that contains every character that is in at least one of its operand classes. The intersection operator creates a new class that contains every character that is in both of its operand classes.
Beide zijn zo te doen in Perl.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Hoe doe je het eerste in Perl? * Onno weet het zo niet. :o

Verwijderd

Onno: Hoe doe je het eerste in Perl? * Onno weet het zo niet. :o
Bijvoorbeeld zo:
code:
1
2
$_ = "Dit is een string";
print ( /.*\Gg/g ? "Wel" : "Geen" . " match.");

Met uitkomst:
code:
1
Geen match.

Waarom matcht hij niet?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Hmmm.. grappig.. nooit bedacht dat dat zo zou kunnen. :)

* Onno heeft weer wat geleerd.

edit:
[quote]
Waarom matcht hij niet?
[/quote]

Omdat ie door de \G niet backtrackt?

(en de /g is hier niet echt nodig lijkt me :))

Verwijderd

Onno: Nooit bedacht dat dat zo zou kunnen. :)
Ach, bij Sun ook niet. :+

Zag bij IBM (IIRC) dat je er in Perl geen manier is om accessmodifiers te geven en het daarom niet geschikt was voor OO... Weer zo'n opmkering die meer zegt over hoe goed iemand Perl kent dan over wat Perl kan. |:(

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
[edit]oeps, laat maar :)

Verwijderd

Onno: De /g is hier niet echt nodig lijkt me :)
Was een slordige copy-paste. :o

Wat er trouwens op die pagina van Sun staat over het "toleranter" zijn van Perl mbt foute regexen...
code:
1
Quantifier follows nothing before HERE mark in regex /regex/ << HERE

:Z

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Arien: (?(condition)foo|bar)
kun je zo toch oplossen toch: ?
code:
1
String expr = "blaat" + (condition?"foo":"bar") + "schaap";

Verwijderd

marcusk: Kun je zo toch oplossen toch?
Dat was niet wat ik bedoelde. :) Ik bedoelde in een regex.
Pagina: 1