Java Regular Expression Tester
Posted: April 20th, 2009 | Filed under: Programmieren, Software | Tags: Java, Pattern, RegExp, Regular Expression, Reguläre Ausdruck, testen, Tool | 4 Comments »Hi Leute, nach relativ kurzer Entwicklungszeit habe ich nun mein 4. richtiges Tool auf die Beine gestellt. Das Programm ermöglicht es Java Regular Expressions auszutesten.
Wird ein Treffer gelandet so wird dieser rot markiert. Alle Treffer werden gezählt und über ein Status Feld erfährt man ob die Regular Expression oder ob der Reguläre Ausdruck gültig ist oder nicht. Hier gelangt ihr zur Projektseite.
Screenshot
Download
http://java-regular-expression-tester.mynotiz.de/download/javaRegularExpressionTester_1.2.jar
oder
Über Feedback würde ich mich sehr freuen.
[…] Verbesserungsvorschläge nehme ich natürlich gerne an.Testen könnt ihr das ganze mit meinem RegularExpressionTester. […]
Hi, ich intressiere mich für die Highlightfunktion, bzw das Highlighten von übereinstimmenden Funden bzgl eines Regex auf einen String, könntest du mir da weiter helfen?
ich verwende dafür die Klasse
MyHighlightPainter.java
package application;
import java.awt.Color;
import javax.swing.text.DefaultHighlighter;
// A private subclass of the default highlight painter
class MyHighlightPainter extends DefaultHighlighter.DefaultHighlightPainter {
public MyHighlightPainter(Color color) {
super(color);
}
}
Verwenden tu ich diese dann wie folgt:
Erzeugen des Highlighter:
Highlighter.HighlightPainter myHighlightPainter = new MyHighlightPainter(new Color(0,255,127));
Highlighten der Regulären Ausdrücke:
public void parseText(){
removeHighlights(text);
Pattern pattern = null;
if (regularExpression.getText().length() > 0){
try{
if (checkboxIgnoreCase.getState() == true){
pattern = Pattern.compile(regularExpression.getText(), Pattern.CASE_INSENSITIVE);
}else{
pattern = Pattern.compile(regularExpression.getText());
}
status.setText(„gültiges Pattern“);
status.setForeground(new Color(34,139,34));
Matcher matcher = pattern.matcher(text.getText());
int matchCounter = 0;
while (matcher.find()) {
highlight(text, matcher.start(), matcher.end());
matchCounter++;
}
matches.setText(String.valueOf(matchCounter));
}catch(PatternSyntaxException e){
status.setText(„ungültiger Pattern“);
status.setForeground(Color.RED);
matches.setText(String.valueOf(0));
}
}else{
matches.setText(String.valueOf(0));
}
}
Methode fürs Highlighten:
public void highlight(JTextComponent textComp, int start, int end) {
if (textComp.getText().length() > 0){
try {
Highlighter hilite = textComp.getHighlighter();
hilite.addHighlight(start, end, myHighlightPainter);
} catch (BadLocationException e) {
}
}
}
Methode um Highlighting zu entfernen:
public void removeHighlights(JTextComponent textComp) {
Highlighter hilite = textComp.getHighlighter();
hilite.removeAllHighlights();
}
[…] Vor einiger Zeit habe ich ein Programm geschrieben mit dem ihr Regulärer Ausdrücke austesten könnt. Es nennt sich Java Regular Expression Tester. […]