<!--
/*
'' ============================================================================================
'' 项目名称：{fyp_title}
'' 项目版本：{fyp_version}
'' 项目描述：{fyp_description}
'' 文件名称：js/js_regex.js
'' 文件描述：[JavaScript] 正则表达式函数库
'' 公司名称：{fyp_company}
'' 开发人员：{fyp_designer}
'' 创建日期：{fyp_created_date}
'' 修订日期：{system_date_time format="yyyy-MM-dd hh:mm:ss"}
'' 版权信息：{fyp_copyright}

'' 项目升级时需读取以下生成工具的版权信息
'' 生成工具：{fysoft_name}
'' 当前版本：{fysoft_version}
'' 官方网站：{fysoft_website}
'' ============================================================================================
*/

// 注意：传入模板变量(patternStr)中的\要转换为\\

// --------------------------------------
// 将传入的正则表达式pattern转换为原义字符串
function RegPatternToStr(strIn)
{
	var strOut = strIn.replace(/\\/gim, "\\\\");
	strOut = strOut.replace(/\^/gim, "\\^");
	strOut = strOut.replace(/\$/gim, "\\$");
	strOut = strOut.replace(/\*/gim, "\\*");
	strOut = strOut.replace(/\+/gim, "\\+");
	strOut = strOut.replace(/\|/gim, "\\|");
	strOut = strOut.replace(/\?/gim, "\\?");
	strOut = strOut.replace(/\./gim, "\\.");
	strOut = strOut.replace(/\[/gim, "\\[");
	strOut = strOut.replace(/\]/gim, "\\]");
	strOut = strOut.replace(/\(/gim, "\\(");
	strOut = strOut.replace(/\)/gim, "\\)");
	strOut = strOut.replace(/\{/gim, "\\{");
	strOut = strOut.replace(/\}/gim, "\\}");
	strOut = strOut.replace(/\-/gim, "\\-");
    return strOut;
}
// --------------------------------------

// --------------------------------------
// 正则表达式检测是否匹配：返回检测结果(true/false)
function RegExpCheck(patternStr, sourceStr)
{
    var regExp = new RegExp(patternStr, "gim");
    return regExp.test(sourceStr);
}
// --------------------------------------

// --------------------------------------
// 正则表达式替换
// 模板,源字符串,替换字符串。返回替换后的字符串
function RegExpReplace(patternStr, sourceStr, replaceStr)
{
    var regExp = new RegExp(patternStr, "gim");
    return sourceStr.replace(regExp, replaceStr);
}
// --------------------------------------

// --------------------------------------
// 正则表达式匹配结果：模板,源字符串,分组字符串（如：$1$2）。
// 返回与pattern或组匹配的字符串，如groupStr为""""则返回全部匹配
function RegExpMatch(patternStr, sourceStr, groupStr)
{
    var strValue = "";
    var regExp = new RegExp(patternStr, "gim");
    var arrValues = regExp.exec(sourceStr);

    if (arrValues != null)
    {
        // 返回全部匹配或是返回其中指定的组
        if (groupStr == "")
        {
            strValue = arrValues[0];
        }
        else
        {
            var i = 0;
            for (i = 0; i < arrValues.length; i++)
            {
                if ((groupStr + "$").indexOf("$" + i.toString() + "$") >= 0)
                {
                    strValue += arrValues[i];
                }
            }
        }
    }
    return strValue;
}
// --------------------------------------
-->