自己写了一个正则表达式工具,请各位大虾给点意见。
开发平台:Windows XP(JP)
          eclipse3.2
          jdk1.5.0_07
程序Edit菜单想做一个工具,对Common Regular菜单中的项进行自定义操作,使用户可以增加或删除常用正则表达式。由于时间匆忙,这个功能还没有实现。Help Contents菜单想做一个帮助文档,同样还没实现,呵呵。我会不断完善的~~~~
     希望大家能找一些BUG(一个20分),促使我不断改进,要是能提供一些好的意见,就万分感谢了。
揭帖日期:5/27
以下是源代码:

解决方案 »

  1.   

    /*
     * 2007/03/26
     *
     * REGULAR TOOL
     * regular.java
     */
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.util.regex.Pattern;import javax.swing.JOptionPane;
    import javax.swing.UIManager;/**
     * @author suxq126
     */
    public class regular implements ItemListener {
        /** */
        private String strRegular;    private String strText;    private String strReplacement;    private regularGUI gui = new regularGUI();    private int flags = 0;    private int flagCANON_EQ = 0;    private int flagCASE_INSENSITIVE = 0;    private int flagCOMMENTS = 0;    private int flagDOTALL = 0;    private int flagLITERAL = 0;    private int flagMULTILINE = 0;    private int flagUNICODE_CASE = 0;    private int flagUNIX_LINES = 0;    /**
         * ItemEvent
         * 
         * @param e
         */
        public void itemStateChanged(ItemEvent e) {        if (e.getSource() == gui.getJCheckBox1()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagCANON_EQ = Pattern.CANON_EQ;
                } else {
                    flagCANON_EQ = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox2()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagCASE_INSENSITIVE = Pattern.CASE_INSENSITIVE;
                } else {
                    flagCASE_INSENSITIVE = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox3()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagCOMMENTS = Pattern.COMMENTS;
                } else {
                    flagCOMMENTS = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox4()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagDOTALL = Pattern.DOTALL;
                } else {
                    flagDOTALL = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox5()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagLITERAL = Pattern.LITERAL;
                } else {
                    flagLITERAL = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox6()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagMULTILINE = Pattern.MULTILINE;
                } else {
                    flagMULTILINE = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox7()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagUNICODE_CASE = Pattern.UNICODE_CASE;
                } else {
                    flagUNICODE_CASE = 0;
                }
            }
            if (e.getSource() == gui.getJCheckBox8()) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    flagUNIX_LINES = Pattern.UNIX_LINES;
                } else {
                    flagUNIX_LINES = 0;
                }
            }
            flags = flagCANON_EQ | flagCASE_INSENSITIVE | flagCOMMENTS | flagDOTALL | flagLITERAL | flagMULTILINE | flagUNICODE_CASE | flagUNIX_LINES;
        }    /**
         * 
         */
        public void initRegular() {
            // initial the gui
            gui.initGUI();
            gui.getJCheckBox1().addItemListener(this);
            gui.getJCheckBox2().addItemListener(this);
            gui.getJCheckBox3().addItemListener(this);
            gui.getJCheckBox4().addItemListener(this);
            gui.getJCheckBox5().addItemListener(this);
            gui.getJCheckBox6().addItemListener(this);
            gui.getJCheckBox7().addItemListener(this);
            gui.getJCheckBox8().addItemListener(this);
            /**
             * Check
             */
            gui.getJBtnCheck().addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    strRegular = gui.getJTxtRegular().getText();
                    strText = gui.getJTxtAreaInfo().getText();
                    try {
                        strText = regularTool.matchRegular(strRegular, strText, flags);
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(gui.getContentPane(), "Regular Expression is not right,\nPlease try again", "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }                gui.getJTxtAreaResult().setText(strText);
                }
            });
            /**
             * Replace
             */
            gui.getJBtnReplace().addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    strRegular = gui.getJTxtRegular().getText();
                    strText = gui.getJTxtAreaInfo().getText();
                    strReplacement = gui.getJTxtAreaReplace().getText();
                    try {
                        strText = regularTool.replaceRegular(strRegular, strText, strReplacement, flags);
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(gui.getContentPane(), "Regular Expression is not right,\nPlease try again", "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    gui.getJTxtAreaResult().setText(strText);
                }
            });
      

  2.   

    /**
             * Split
             */
            gui.getJBtnSplit().addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    strRegular = gui.getJTxtRegular().getText();
                    strText = gui.getJTxtAreaInfo().getText();
                    strReplacement = gui.getJTxtAreaReplace().getText();
                    try {
                        strText = regularTool.splitRegular(strRegular, strText);
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(gui.getContentPane(), "Regular Expression is not right,\nPlease try again", "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    gui.getJTxtAreaResult().setText(strText);
                }
            });
            /**
             * Match Item
             */
            gui.getJBtnMatchItem().addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    strRegular = gui.getJTxtRegular().getText();
                    strText = gui.getJTxtAreaInfo().getText();
                    strReplacement = gui.getJTxtAreaReplace().getText();
                    try {
                        strText = regularTool.matchItemRegular(strRegular, strText, flags);
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(gui.getContentPane(), "Regular Expression is not right,\nPlease try again", "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    gui.getJTxtAreaResult().setText(strText);
                }
            });
            /**
             * Group Info
             */
            gui.getJBtnGroupInfo().addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    strRegular = gui.getJTxtRegular().getText();
                    strText = gui.getJTxtAreaInfo().getText();
                    try {
                        strText = regularTool.groupInfoRegular(strRegular, strText, flags);
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(gui.getContentPane(), "Regular Expression is not right,\nPlease try again", "Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                    gui.getJTxtAreaResult().setText(strText);
                }
            });
        }    /**
         * @param args
         */
        public static void main(String[] args) {
            try {
                // UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            } catch (Exception exc) {
                System.err.println("Error loading L&F: " + exc);
            }
            regular rg = new regular();
            rg.initRegular();
        }}
      

  3.   

    //2.regularTool.java/*
     * 2007/03/26
     *
     * REGULAR TOOL
     * regularTool.java
     */
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;/**
     * @author suxq126
     */
    public class regularTool {    /**
         * @param strRegular
         * @param strText
         * @param flags
         * @return true|false
         */
        public static String matchRegular(String strRegular, String strText, int flags) {
            Pattern p = Pattern.compile(strRegular, flags);
            Matcher m = p.matcher(strText);
            if (m.find()) {
                return "Find";
            } else {
                return "Not Find";
            }
        }    /**
         * @param strRegular
         * @param strText
         * @param strReplacement
         * @param flags
         * @return strText
         */
        public static String replaceRegular(String strRegular, String strText, String strReplacement, int flags) {
            Pattern p = Pattern.compile(strRegular, flags);
            Matcher m = p.matcher(strText);
            strText = m.replaceAll(strReplacement);
            return strText;
        }    /**
         * @param strRegular
         * @param strText
         * @return strSplitText.toString()
         */
        public static String splitRegular(String strRegular, String strText) {
            String[] strSplitText = strText.split(strRegular);
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < strSplitText.length; i++) {
                sb.append(strSplitText[i]);
                sb.append("\n");
            }
            return sb.toString();
        }    /**
         * @param strRegular
         * @param strText
         * @param flags
         * @return sb.toString()
         */
        public static String matchItemRegular(String strRegular, String strText, int flags) {
            Pattern pat = Pattern.compile(strRegular, flags);
            Matcher mat = pat.matcher(strText);
            StringBuffer sb = new StringBuffer();
            int i = 1;
            while (mat.find()) {
                sb.append("Find the " + i + " MatchItem:" + mat.group().toString() + "  start at:" + mat.start() + "end at:" + mat.end());
                sb.append("\n");
                i++;
            }
            return sb.toString();
        }    /**
         * @param strRegular
         * @param strText
         * @param flags
         * @return sb.toString()
         */
        public static String groupInfoRegular(String strRegular, String strText, int flags) {
            Pattern pat = Pattern.compile(strRegular, flags);
            Matcher mat = pat.matcher(strText);
            StringBuffer sb = new StringBuffer();
            int count = mat.groupCount();
            while (mat.find()) {
                for (int i = 0; i <= count; i++) {
                    sb.append("Group" + i + ":" + mat.group(i));
                    sb.append("\n");
                }
            }
            return sb.toString();
        }
    }
      

  4.   

    //3.regularGUI.java
    /*
     * 2007/03/24
     *
     * REGULAR TOOL
     * regularGUI.java
     */
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowEvent;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Vector;import javax.swing.BorderFactory;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.border.TitledBorder;/**
     * @author suxq126
     */
    public class regularGUI extends JFrame implements ActionListener {
        /** contentPane */
        private JPanel contentPane = new JPanel();    /** optionPane */
        private JPanel jPanelRegOption = new JPanel();    /** label */
        private JLabel jLblRegular = new JLabel();    private JLabel jLblInptuText = new JLabel();    private JLabel jLblReplace = new JLabel();    private JLabel jLblResult = new JLabel();    private JTextField jTxtRegular = new JTextField();    private JTextArea jTxtAreaInfo = new JTextArea();    private JTextArea jTxtAreaReplace = new JTextArea();    private JTextArea jTxtAreaResult = new JTextArea();    private JScrollPane jsPaneInfo = new JScrollPane(jTxtAreaInfo);    private JScrollPane jsPaneReplace = new JScrollPane(jTxtAreaReplace);    private JScrollPane jsPaneResult = new JScrollPane(jTxtAreaResult);    private JButton jBtnOpen = new JButton();    private JButton jBtnSave = new JButton();    private JButton jBtnCheck = new JButton();    private JButton jBtnReplace = new JButton();    private JButton jBtnSplit = new JButton();    private JButton jBtnMatchItem = new JButton();    private JButton jBtnGroupInfo = new JButton();    private JCheckBox jCheckBox1 = new JCheckBox();    private JCheckBox jCheckBox2 = new JCheckBox();    private JCheckBox jCheckBox3 = new JCheckBox();    private JCheckBox jCheckBox4 = new JCheckBox();    private JCheckBox jCheckBox5 = new JCheckBox();    private JCheckBox jCheckBox6 = new JCheckBox();    private JCheckBox jCheckBox7 = new JCheckBox();    private JCheckBox jCheckBox8 = new JCheckBox();    private regularMenu mb = new regularMenu();
      

  5.   

    //3.regularGUI.java
        /**
         * 
         */
        public void initGUI() {
            contentPane = (JPanel) this.getContentPane();
            contentPane.setLayout(null);        jPanelRegOption.setBorder(new TitledBorder("Regular Option"));
            jPanelRegOption.setBounds(new Rectangle(25, 94, 340, 129));
            jPanelRegOption.setLayout(null);        jLblRegular.setText("Regular Expression");
            jLblRegular.setBounds(new Rectangle(25, 24, 200, 20));
            jLblInptuText.setText("Please Input the text Information:");
            jLblInptuText.setBounds(new Rectangle(25, 225, 200, 20));
            jLblReplace.setText("Replace Text");
            jLblReplace.setBounds(new Rectangle(25, 332, 200, 20));
            jLblResult.setText("Result");
            jLblResult.setBounds(new Rectangle(25, 443, 200, 20));        jTxtRegular.setBorder(BorderFactory.createLineBorder(Color.black));
            jTxtRegular.setBounds(new Rectangle(25, 50, 450, 25));
            jTxtAreaInfo.setLineWrap(true);
            jTxtAreaInfo.setWrapStyleWord(true);
            jTxtAreaReplace.setLineWrap(true);
            jTxtAreaReplace.setWrapStyleWord(true);
            jTxtAreaResult.setLineWrap(true);
            jTxtAreaResult.setWrapStyleWord(true);
            jsPaneInfo.setBounds(new Rectangle(25, 245, 450, 80));
            jsPaneInfo.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            jsPaneReplace.setBounds(new Rectangle(25, 356, 450, 80));
            jsPaneReplace.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            jsPaneResult.setBounds(new Rectangle(25, 466, 450, 80));
            jsPaneResult.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);        jBtnOpen.setBounds(new Rectangle(370, 105, 105, 31));
            jBtnOpen.setText("Open File");
            jBtnSave.setBounds(new Rectangle(371, 152, 105, 31));
            jBtnSave.setText("Save Result");        jBtnCheck.setBounds(new Rectangle(25, 560, 80, 30));
            jBtnCheck.setText("Check");
            jBtnReplace.setBounds(new Rectangle(110, 560, 80, 30));
            jBtnReplace.setText("Replace");
            jBtnSplit.setBounds(new Rectangle(195, 560, 80, 30));
            jBtnSplit.setText("Split");
            jBtnMatchItem.setBounds(new Rectangle(280, 560, 80, 30));
            jBtnMatchItem.setText("Match");
            jBtnGroupInfo.setBounds(new Rectangle(365, 560, 80, 30));
            jBtnGroupInfo.setText("Group");        jCheckBox1.setText("CANON_EQ");
            jCheckBox1.setBounds(new Rectangle(10, 20, 150, 20));
            jCheckBox2.setText("CASE_INSENSITIVE");
            jCheckBox2.setBounds(new Rectangle(165, 20, 150, 20));
            jCheckBox3.setText("COMMENTS");
            jCheckBox3.setBounds(new Rectangle(10, 45, 150, 20));
            jCheckBox4.setText("DOTALL");
            jCheckBox4.setBounds(new Rectangle(165, 45, 150, 20));
            jCheckBox5.setText("LITERAL");
            jCheckBox5.setBounds(new Rectangle(10, 70, 150, 20));
            jCheckBox6.setText("MULTILINE");
            jCheckBox6.setBounds(new Rectangle(165, 70, 150, 20));
            jCheckBox7.setText("UNICODE_CASE");
            jCheckBox7.setBounds(new Rectangle(10, 95, 150, 20));
            jCheckBox8.setText("UNIX_LINES");
            jCheckBox8.setBounds(new Rectangle(165, 95, 150, 20));        jPanelRegOption.add(jCheckBox1, null);
            jPanelRegOption.add(jCheckBox2, null);
            jPanelRegOption.add(jCheckBox3, null);
            jPanelRegOption.add(jCheckBox4, null);
            jPanelRegOption.add(jCheckBox5, null);
            jPanelRegOption.add(jCheckBox6, null);
            jPanelRegOption.add(jCheckBox7, null);
            jPanelRegOption.add(jCheckBox8, null);        contentPane.add(jLblRegular, null);
            contentPane.add(jLblInptuText, null);
            contentPane.add(jLblReplace, null);
            contentPane.add(jLblResult, null);
            contentPane.add(jTxtRegular, null);
            contentPane.add(jsPaneInfo, null);
            contentPane.add(jsPaneReplace, null);
            contentPane.add(jsPaneResult, null);
            contentPane.add(jBtnOpen, null);
            contentPane.add(jBtnSave, null);
            contentPane.add(jBtnCheck, null);
            contentPane.add(jBtnReplace, null);
            contentPane.add(jBtnSplit, null);
            contentPane.add(jBtnMatchItem, null);
            contentPane.add(jBtnGroupInfo, null);
            contentPane.add(jPanelRegOption, null);        // Button add ActionListener
            jBtnOpen.addActionListener(this);
            jBtnSave.addActionListener(this);
            // MenuItem add ActionListener
            // File MenuItem
            mb.getOpenMenuItem().addActionListener(this);
            mb.getSaveMenuItem().addActionListener(this);
            mb.getExitMenuItem().addActionListener(this);
            // Common Regular MenuItem
            mb.getIntMenuItem().addActionListener(this);
            mb.getFloatMenuItem().addActionListener(this);
            mb.getPhoneNumberMenuItem().addActionListener(this);
            mb.getEmailMenuItem().addActionListener(this);
            mb.getHtmlTagMenuItem().addActionListener(this);
            // Help MenuItem
            mb.getHelpMenuItem().addActionListener(this);
            mb.getAboutMenuItem().addActionListener(this);        this.setJMenuBar(mb.initMenu());
            this.setContentPane(contentPane);
            this.setSize(new Dimension(500, 700));
            this.setTitle("REGULAR TOOL");
            this.setVisible(true);
        }    /**
         * @param selctFile
         */
        public void writeFile(File selctFile) {
            try {
                String filename = selctFile.getName();
                if (!filename.endsWith(".rgu")) {
                    filename = filename + ".rgu";
                }
                FileWriter fw = new FileWriter(new File(selctFile.getParent(), filename));
                PrintWriter out = new PrintWriter(fw);
                out.println("Regular Expression = " + jTxtRegular.getText());
                out.println("Text Information = " + jTxtAreaInfo.getText().replaceAll("\n", ""));
                out.println("Replace Text = " + jTxtAreaReplace.getText().replaceAll("\n", ""));
                out.println("Result = " + jTxtAreaResult.getText().replaceAll("\n", ""));
                out.close();
                fw.close();
            } catch (IOException e1) {
                System.out.println("Write file error!");
                e1.printStackTrace();
            }
        }
      

  6.   

    //3.
        /**
         * MenuItem's ActionListener
         * 
         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
         */
        public void actionPerformed(ActionEvent e) {
            regularFileFilter filter = new regularFileFilter();
            // File MenuItem
            if (e.getSource() == mb.getOpenMenuItem() || e.getSource() == jBtnOpen) {
                JFileChooser chooserOpen = new JFileChooser();
                chooserOpen.setFileFilter(filter);
                chooserOpen.setAcceptAllFileFilterUsed(false);
                int returnVal = chooserOpen.showOpenDialog(contentPane);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    try {
                        FileReader fr = new FileReader(chooserOpen.getSelectedFile());
                        BufferedReader br = new BufferedReader(fr);
                        String record = new String();
                        Vector<String> vList = new Vector<String>();
                        while ((record = br.readLine()) != null) {
                            String[] contend = record.split("=");
                            if (!contend[0].trim().equals("")) {
                                vList.add(contend[1]);
                            }
                        }
                        jTxtRegular.setText(vList.get(0).toString().trim());
                        jTxtAreaInfo.setText(vList.get(1).toString().trim());
                        jTxtAreaReplace.setText(vList.get(2).toString().trim());
                        jTxtAreaResult.setText(vList.get(3).toString().trim());
                        br.close();
                        fr.close();
                    } catch (IOException e1) {
                        System.out.println("Read file error!");
                        e1.printStackTrace();
                    }
                }
            }
            if (e.getSource() == mb.getSaveMenuItem() || e.getSource() == jBtnSave) {
                JFileChooser chooserSave = new JFileChooser();
                chooserSave.setFileFilter(filter);
                chooserSave.setAcceptAllFileFilterUsed(false);
                int returnVal = chooserSave.showSaveDialog(contentPane);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File selctFile = chooserSave.getSelectedFile();
                    if (selctFile.exists()) { // File exitsts
                        int t = JOptionPane.showConfirmDialog(this, "File   exists,   overwrite?", "Overwrite?", JOptionPane.YES_NO_OPTION);
                        if (t == JOptionPane.YES_OPTION) {
                            writeFile(selctFile);
                        } else {
                            return;
                        }
                    } else { // File not exitsts
                        writeFile(selctFile);
                    }
                }
            }
            if (e.getSource() == mb.getExitMenuItem()) {
                System.exit(0);
            }
            // Common Regular MenuItem
            if (e.getSource() == mb.getIntMenuItem()) {
                jTxtRegular.setText("^((\\+|-)\\d)?\\d*$");
            }
            if (e.getSource() == mb.getFloatMenuItem()) {
                jTxtRegular.setText("^(?:\\+|-)?\\d+(?:\\.\\d+)?$");
            }
            if (e.getSource() == mb.getPhoneNumberMenuItem()) {
                jTxtRegular.setText("\\d{3}-\\d{8}|\\d{4}-\\d{7}");
            }
            if (e.getSource() == mb.getEmailMenuItem()) {
                jTxtRegular.setText("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
            }
            if (e.getSource() == mb.getHtmlTagMenuItem()) {
                jTxtRegular.setText("<[^>]*>");
            }
            // Help MenuItem
            if (e.getSource() == mb.getHelpMenuItem()) {
                try {
                    Runtime.getRuntime().exec("HH.EXE regular.chm");
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
            if (e.getSource() == mb.getAboutMenuItem()) {
                JDialog dialog = new JDialog(this, "About Regular Tool", true);
                JPanel p = new JPanel(new GridLayout(3, 1));
                JLabel label1 = new JLabel("Regular Tool v1.0");
                JLabel label2 = new JLabel("Edited by suxq126");
                JLabel label3 = new JLabel("Thank you for you using!");
                p.add(label1);
                p.add(label2);
                p.add(label3);
                dialog.add(p);
                dialog.setSize(200, 100);
                dialog.setLocation(this.getX() + (this.getWidth() - dialog.getWidth()) / 2, this.getY() + 100);
                dialog.setVisible(true);
            }
        }    // Overridden so we can exit when window is closed
        protected void processWindowEvent(WindowEvent e) {
            super.processWindowEvent(e);
            if (e.getID() == WindowEvent.WINDOW_CLOSING) {
                System.exit(0);
            }
        }
      

  7.   

    /**
         * @return jBtnCheck を戻します。
         */
        public JButton getJBtnCheck() {
            return jBtnCheck;
        }    /**
         * @return jBtnGroupInfo を戻します。
         */
        public JButton getJBtnGroupInfo() {
            return jBtnGroupInfo;
        }    /**
         * @return jBtnMatchItem を戻します。
         */
        public JButton getJBtnMatchItem() {
            return jBtnMatchItem;
        }    /**
         * @return jBtnOpen を戻します。
         */
        public JButton getJBtnOpen() {
            return jBtnOpen;
        }    /**
         * @return jBtnReplace を戻します。
         */
        public JButton getJBtnReplace() {
            return jBtnReplace;
        }    /**
         * @return jBtnSave を戻します。
         */
        public JButton getJBtnSave() {
            return jBtnSave;
        }    /**
         * @return jBtnSplit を戻します。
         */
        public JButton getJBtnSplit() {
            return jBtnSplit;
        }    /**
         * @return jCheckBox1 を戻します。
         */
        public JCheckBox getJCheckBox1() {
            return jCheckBox1;
        }    /**
         * @return jCheckBox2 を戻します。
         */
        public JCheckBox getJCheckBox2() {
            return jCheckBox2;
        }    /**
         * @return jCheckBox3 を戻します。
         */
        public JCheckBox getJCheckBox3() {
            return jCheckBox3;
        }    /**
         * @return jCheckBox4 を戻します。
         */
        public JCheckBox getJCheckBox4() {
            return jCheckBox4;
        }    /**
         * @return jCheckBox5 を戻します。
         */
        public JCheckBox getJCheckBox5() {
            return jCheckBox5;
        }    /**
         * @return jCheckBox6 を戻します。
         */
        public JCheckBox getJCheckBox6() {
            return jCheckBox6;
        }    /**
         * @return jCheckBox7 を戻します。
         */
        public JCheckBox getJCheckBox7() {
            return jCheckBox7;
        }
      

  8.   

    /**
         * @return jCheckBox8 を戻します。
         */
        public JCheckBox getJCheckBox8() {
            return jCheckBox8;
        }    /**
         * @return jTxtAreaInfo を戻します。
         */
        public JTextArea getJTxtAreaInfo() {
            return jTxtAreaInfo;
        }    /**
         * @return jTxtAreaReplace を戻します。
         */
        public JTextArea getJTxtAreaReplace() {
            return jTxtAreaReplace;
        }    /**
         * @return jTxtAreaResult を戻します。
         */
        public JTextArea getJTxtAreaResult() {
            return jTxtAreaResult;
        }    /**
         * @return jTxtRegular を戻します。
         */
        public JTextField getJTxtRegular() {
            return jTxtRegular;
        }    /**
         * @param btnCheck
         *            jBtnCheck を設定。
         */
        public void setJBtnCheck(JButton btnCheck) {
            jBtnCheck = btnCheck;
        }    /**
         * @param btnGroupInfo
         *            jBtnGroupInfo を設定。
         */
        public void setJBtnGroupInfo(JButton btnGroupInfo) {
            jBtnGroupInfo = btnGroupInfo;
        }    /**
         * @param btnMatchItem
         *            jBtnMatchItem を設定。
         */
        public void setJBtnMatchItem(JButton btnMatchItem) {
            jBtnMatchItem = btnMatchItem;
        }    /**
         * @param btnOpen
         *            jBtnOpen を設定。
         */
        public void setJBtnOpen(JButton btnOpen) {
            jBtnOpen = btnOpen;
        }    /**
         * @param btnReplace
         *            jBtnReplace を設定。
         */
        public void setJBtnReplace(JButton btnReplace) {
            jBtnReplace = btnReplace;
        }    /**
         * @param btnSave
         *            jBtnSave を設定。
         */
        public void setJBtnSave(JButton btnSave) {
            jBtnSave = btnSave;
        }    /**
         * @param btnSplit
         *            jBtnSplit を設定。
         */
        public void setJBtnSplit(JButton btnSplit) {
            jBtnSplit = btnSplit;
        }    /**
         * @param checkBox1
         *            jCheckBox1 を設定。
         */
        public void setJCheckBox1(JCheckBox checkBox1) {
            jCheckBox1 = checkBox1;
        }    /**
         * @param checkBox2
         *            jCheckBox2 を設定。
         */
        public void setJCheckBox2(JCheckBox checkBox2) {
            jCheckBox2 = checkBox2;
        }    /**
         * @param checkBox3
         *            jCheckBox3 を設定。
         */
        public void setJCheckBox3(JCheckBox checkBox3) {
            jCheckBox3 = checkBox3;
        }    /**
         * @param checkBox4
         *            jCheckBox4 を設定。
         */
        public void setJCheckBox4(JCheckBox checkBox4) {
            jCheckBox4 = checkBox4;
        }    /**
         * @param checkBox5
         *            jCheckBox5 を設定。
         */
        public void setJCheckBox5(JCheckBox checkBox5) {
            jCheckBox5 = checkBox5;
        }    /**
         * @param checkBox6
         *            jCheckBox6 を設定。
         */
        public void setJCheckBox6(JCheckBox checkBox6) {
            jCheckBox6 = checkBox6;
        }    /**
         * @param checkBox7
         *            jCheckBox7 を設定。
         */
        public void setJCheckBox7(JCheckBox checkBox7) {
            jCheckBox7 = checkBox7;
        }    /**
         * @param checkBox8
         *            jCheckBox8 を設定。
         */
        public void setJCheckBox8(JCheckBox checkBox8) {
            jCheckBox8 = checkBox8;
        }    /**
         * @param txtAreaInfo
         *            jTxtAreaInfo を設定。
         */
        public void setJTxtAreaInfo(JTextArea txtAreaInfo) {
            jTxtAreaInfo = txtAreaInfo;
        }    /**
         * @param txtAreaReplace
         *            jTxtAreaReplace を設定。
         */
        public void setJTxtAreaReplace(JTextArea txtAreaReplace) {
            jTxtAreaReplace = txtAreaReplace;
        }    /**
         * @param txtAreaResult
         *            jTxtAreaResult を設定。
         */
        public void setJTxtAreaResult(JTextArea txtAreaResult) {
            jTxtAreaResult = txtAreaResult;
        }    /**
         * @param txtRegular
         *            jTxtRegular を設定。
         */
        public void setJTxtRegular(JTextField txtRegular) {
            jTxtRegular = txtRegular;
        }
    }
      

  9.   

    大哥打个包发俺邮箱里来呗  [email protected]
      

  10.   

    自己写了一个正则表达式工具(2)
    http://community.csdn.net/Expert/topic/5496/5496618.xml?temp=3.316897E-02
      

  11.   

    NB呀,楼主去一些可以上传的网站上传一下源码,然后给个地址吧. 好象CSDN也有地方可以上传程序的.