Java - Regex Group Match -Ausnahme

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Java - Regex Group Match -Ausnahme

by Anonymous » 19 Aug 2025, 17:13

Ich versuche, einige Vorlagen in einer XML -Datei zu erstellen, und ich möchte Argumente mit der folgenden Syntax haben: < /p>

{%test%}< /code> wobei "Test" der Name des Arguments ist. < /p>

private static final Pattern _hasArgPattern = Pattern.compile( "\\{%[a-zA-Z0-9_-]*%\\}" );

private static final Pattern _getArgNamePattern = Pattern.compile( "\\{%([a-zA-Z0-9_-]*)%\\}" );

private static final Pattern _replaceArgPattern = Pattern.compile( "(\\{%[a-zA-Z0-9_-]*%\\})" );
< /code>

Ich prüfe zuerst, ob in der Zeichenfolge ein Argument vorhanden ist, dann versuche ich, den Namen des Argmuments zu extrahieren, und dann ersetze ich das gesamte Muster durch den in einem HashMap enthaltenen Argumentewert: < /p>

if( _hasArgPattern.matcher( attr ).matches() )
{
String argName = _getArgNamePattern.matcher( attr ).group( 1 );

if( ! args.containsKey( argName ) )
{
throw new Exception( "Argument \"" + argName + "\" not found." );
}

return _replaceArgPattern.matcher( attr ).replaceFirst( args.get( argName ) );
}
else
{
return attr;
}
< /code>

Ich habe meine Reg -Exps auf einem Online -Reg -Exp -Tester getestet und sie scheinen als intent zu arbeiten.java.lang.IllegalStateException: No successful match so far
< /code>

Worauf kann das sein? Danke :)

Top