⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regfilterbuilder.java

📁 反ajax原代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   RegFilterBuilder.java

package com.laoer.bbscs.sys;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

// Referenced classes of package com.laoer.bbscs.sys:
//            FilterBuilder, Filter, RegexFilter

public class RegFilterBuilder
    implements FilterBuilder
{

    private String regex;
    private String rpStr;
    private String source;
    private String result;

    public RegFilterBuilder(String regex, String rpStr, String source)
    {
        this.regex = null;
        this.rpStr = null;
        this.source = null;
        result = null;
        this.regex = regex;
        this.rpStr = rpStr;
        this.source = source;
    }

    public void buildFilter()
    {
        if(regex == null)
            return;
        Pattern p = Pattern.compile(regex, 2);
        Matcher matcher = p.matcher(source);
        StringBuffer sb = new StringBuffer();
        String tempString = rpStr;
        int rpL = rpStr.split("\\$[0-9]+").length;
        for(; matcher.find(); matcher.appendReplacement(sb, tempString))
        {
            for(int i = 0; i < rpL && i < matcher.groupCount(); i++)
                tempString = tempString.replaceAll("\\$" + i, matcher.group(i));

        }

        matcher.appendTail(sb);
        result = sb.toString();
    }

    public Filter getFilter()
    {
        return new RegexFilter() {

            public String getFilteredStr()
            {
                return result;
            }

        };
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -