Reguläre Ausdrücke

Moin,

boolean isLinkSet=false; 
if (pageText2.matches(linkTextReg))
 isLinkSet=true;

pageText2=
**__[bier5|Howto.custom.bier5]__

__[bier6|Howto.custom.bier6]__**
und linkTextReg= .*Howto.custom.bier6.*

Bezihungsweise UNGERENDERT:
pageText2=
__[bier5|Howto.custom.bier5]__\r\n\r\n__[bier6|Howto.custom.bier6]__
und linkTextReg= .*Howto\.custom\.bier6.*

So zeigt es mir Eclipse beim Debuggen an.

Danach ist isLinkSet weiterhin false und nicht true!
Meiner Meinung nach müsste aber true zutreffen,
da 1. „*.“=belibiges Zeichen 0 bis unendlich mal: Treffer
2. Howto\.custom\.bier6 = Howto.custom.bier6: Treffer
3. „*.“=belibiges Zeichen 0 bis unendlich mal: Treffer

Hab ich irgend ein Fehler in meinen RegEx?? Java hat da ja leider immer seine Eigenheiten (wie z.B. \ statt ). Kann mir mal ein Javaspezi helfen???

Vielen Dank&Gruß Thomas

Moin auch.

boolean isLinkSet=false;
if (pageText2.matches(linkTextReg))
isLinkSet=true;

pageText2=
**__[bier5|Howto.custom.bier5]__

__[bier6|Howto.custom.bier6]__**
und linkTextReg= .*Howto.custom.bier6.*

Bezihungsweise UNGERENDERT:
pageText2=
__[bier5|Howto.custom.bier5]__\r\n\r\n__[bier6|Howto.custom.bier6]__
und linkTextReg= .*Howto\.custom\.bier6.*

So zeigt es mir Eclipse beim Debuggen an.

Danach ist isLinkSet weiterhin false und nicht true!
Meiner Meinung nach müsste aber true zutreffen,
da 1. „*.“=belibiges Zeichen 0 bis unendlich mal: Treffer
2. Howto\.custom\.bier6 = Howto.custom.bier6: Treffer
3. „*.“=belibiges Zeichen 0 bis unendlich mal: Treffer

Hab ich irgend ein Fehler in meinen RegEx??

Standardmässig matcht der Punkt keine Newlines. Das musst Du Deinem
Ausdruck mit dem DOT_ALL-Modus ‚s‘ abgewöhnen:

String pageText2 = "\_\_[bier5|Howto.custom.bier5]\_\_\r\n\r\n\_\_[bier6|Howto.custom.bier6]\_\_";
String linkTextReg = "**(?s)**.\*Howto\\.custom\\.bier6.\*";

Gruß,
-Andreas.

Jo ThX
Danke nochmal