`

java正则表达式测试工具

    博客分类:
  • java
 
阅读更多
import javax.swing.*;   
import javax.swing.text.DefaultHighlighter;   
import javax.swing.text.BadLocationException;   
import java.awt.BorderLayout;   
import java.awt.Font;   
import java.awt.HeadlessException;   
import java.awt.Color;   
import java.awt.event.ActionEvent;   
import java.awt.event.ActionListener;   
import java.util.regex.Pattern;   
import java.util.regex.Matcher;   
    
/** 
* 测试 Java 正则表达式 
*/   
public class RegTester {   
    
    public static void main(String[] args) {   
        try {   
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());   
        } catch (Exception e) {   
            e.printStackTrace();   
        }   
    
        new RegTesterFrame().setVisible(true);   
    }   
}   
    
class RegTesterFrame extends JFrame {   
    
    private JTextField textbox = new JTextField();  // 包含测试文本的文本域   
        
    private JTextArea textarea = new JTextArea();   // 包含正则表达式的文本框   
    
    private RegTesterFrame thisFrame = this;   
        
    private DefaultHighlighter.DefaultHighlightPainter highlightPainter =   
            new DefaultHighlighter.DefaultHighlightPainter(Color.green);   
    
    // 构造方法   
    RegTesterFrame() throws HeadlessException {   
        super("测试 Java 正则表达式");   
        setSize(500, 300);   
        setLocation(300, 100);   
        setDefaultCloseOperation(EXIT_ON_CLOSE);   
    
        setupComponents();   
    }   
    
    // 初始化控件   
    private void setupComponents() {   
        setupBorder();   
    
        JPanel topPanel = new JPanel(new BorderLayout(5, 0));   
        this.add(topPanel, BorderLayout.NORTH);   
        setupTopPanel(topPanel);   
    
        JPanel centerPanel = new JPanel(new BorderLayout());   
        this.add(centerPanel, BorderLayout.CENTER);   
        setupCenterPanel(centerPanel);   
    }   
    
    // 给窗体面板加上边框   
    private void setupBorder() {   
        JPanel panel = new JPanel(new BorderLayout(5, 5));   
        panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));   
        this.setContentPane(panel);   
    }   
    
    // 文本域面板   
    private void setupCenterPanel(JPanel panel) {   
        textarea.setFont(new Font(Font.DIALOG_INPUT, 0, 12));   
        panel.add(new JScrollPane(textarea));   
    }   
    
    // 上方面板   
    private void setupTopPanel(JPanel panel) {   
        textbox.setFont(new Font(Font.DIALOG_INPUT, 0, 12));   
        panel.add(textbox, BorderLayout.CENTER);   
    
        JButton button = new JButton("测试");   
        button.addActionListener(new ActionListener() {   
            public void actionPerformed(ActionEvent e) {   
                checkRegularExpression();   
            }   
        });   
        panel.add(button, BorderLayout.EAST);   
        panel.add(new JLabel("正则表达式:"), BorderLayout.WEST);   
    }   
    
    // 检查正则表达式   
    private void checkRegularExpression() {   
        textarea.getHighlighter().removeAllHighlights();   
    
        String reg = textbox.getText();   
        String text = textarea.getText();   
    
        Pattern p = Pattern.compile(reg);   
        Matcher m = p.matcher(text);   
        if (m.find()) {   
            thisFrame.setTitle("文本符合表达式。");   
            highlightMatches(m);   
        } else {   
            thisFrame.setTitle("文本不符合表达式。");   
        }   
    }   
    
    // 将符合正则表达式的部分高亮显示   
    private void highlightMatches(Matcher m) {   
        highlight(m);   
        int start = m.end();   
        while (m.find(start)) {   
            highlight(m);   
            start = m.end();   
        }   
    }   
    
    private void highlight(Matcher m) {   
        try {   
            textarea.getHighlighter().addHighlight(m.start(), m.end(), highlightPainter);   
        } catch (BadLocationException e) {   
            e.printStackTrace();   
        }   
    }   
}  
分享到:
评论

相关推荐

    Java正则表达式测试工具

    Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    Java使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    好用的正则表达式测试工具

    而一个好用的正则表达式测试工具能帮助开发者快速调试和优化正则表达式,提高工作效率。 标题“好用的正则表达式测试工具”指的是这样一种软件或在线平台,它提供了友好的界面和功能,让用户能够方便地测试自己的...

    JAVA 正则表达式测试器

    Java正则表达式测试器是一款强大的工具,专为在Java环境中进行正则表达式测试而设计。它使得开发者能够在编写和调试正则表达式时节省大量时间和精力,避免了传统方式下反复试错的繁琐过程。这个工具的核心功能是提供...

    Java Swing版的正则表达式测试工具

    Java Swing版的正则表达式测试工具是一款专为Java开发者设计的实用软件,它利用Swing作为GUI库,提供了一个直观、便捷的平台,用于学习和测试正则表达式。这款工具无需任何额外的安装步骤,只需具备Java环境,就可以...

    java代码-在线 java正则表达式测试工具,java正则测试,在线java正则匹配

    在线Java正则表达式测试工具是开发者常用的辅助资源,可以帮助他们在编写和调试正则表达式时实时查看结果,提高开发效率。 在Java中,`java.util.regex`包提供了处理正则表达式的核心类。主要有以下三个关键组件: ...

    正则表达式测试工具

    总的来说,正则表达式测试工具是开发和学习正则表达式的重要辅助工具,能够显著提高编写和调试正则表达式的效率。通过熟练掌握正则表达式及其测试工具,开发者可以更高效地处理文本数据,实现复杂的字符串操作。

    测试正则表达式软件

    本文将详细介绍如何在Java中使用正则表达式以及测试正则表达式的软件。 首先,让我们了解一下Java中的正则表达式基础。在Java中,`java.util.regex`包提供了对正则表达式的支持。主要涉及以下核心类: 1. **...

    正则表达式测试工具java源代码

    用swing开发的正则表达式测试工具 - java 源代码 其中包括了简单swing开发方法、反斜线转译字符串处理、正则匹配的简单使用方法

    正则表达式测试软件

    这款“正则表达式测试软件”是为了帮助用户方便快捷地测试和验证他们的正则表达式而设计的。通过这款软件,用户可以输入待匹配的文本和相应的正则表达式,实时查看匹配结果,从而更好地理解和优化正则表达式。 正则...

    正则表达式测试工具大全

    1. **Regulator.201**:这是一款强大的正则表达式测试工具,提供了多种正则表达式引擎供用户选择,包括Perl、.NET、Java等,便于跨平台开发。它具有实时预览功能,能够即时显示匹配结果,还有代码高亮和自动完成等...

    Java根据正则表达式生成字符串—Xeger,automaton

    Xeger是一个方便的工具,可以直接根据正则表达式生成随机字符串,适合测试和调试。而automaton(有限状态自动机)则为我们提供了更底层的控制,适用于那些需要深入理解正则表达式内部机制的复杂情况。这两个工具在...

    正则表达式自动生成器 V2.0.0.1 官方多语版

    正则表达式自动生成器V2.0.0.1是一款强大的工具,旨在帮助用户方便快捷地构建和测试正则表达式。它提供了多语言支持,使得不同地区的用户都能无障碍地使用。在IT领域,正则表达式是进行文本处理、数据验证和搜索替换...

    java正则表达式检查

    综上所述,Java正则表达式是一个强大的文本处理工具,而“java正则表达式检查”小工具简化了测试和验证正则表达式的过程,对于Java开发者来说是很有用的辅助工具。理解并熟练运用正则表达式可以帮助我们更高效地处理...

    Java 正则表达式 验证 工具 0.1

    用来学习正则表达式的小工具(JAVA版的) 可以及时的测试自己写的正则表达式 Welcome to id0096.cn

    java正则表达式及例子 pdf

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本提取、搜索替换等。本篇文章将深入探讨Java中的...

    java使用正则表达式判断手机号的方法示例

    8. java正则表达式技巧大全:文章最后还提供了几个有关于java算法相关的内容,例如《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java...

Global site tag (gtag.js) - Google Analytics