<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>正则字符串筛选输出工具</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style type="text/css">
.td-field {
width: 90px;
text-align: right;
}
textarea, input {
width: 100%;
}
textarea {
height: 260px;
}
</style>
</head>
<body>
<div>
<table width="100%">
<tr>
<td class="td-field">源字符串</td>
<td colspan="2">
<textarea id="txtSource">
111a333b222
111a555b444
</textarea>
</td>
</tr>
<tr>
<td class="td-field">正则表达式</td>
<td><input id="regStr" value="(a).*(b)" onkeydown="execReg(event);" /></td>
<td>
<a href="javascript:void(0)" onclick="execQuery();">执行</a>
<a href="javascript:void(0)" onclick="clearContent(1);">清除所有</a>
<a href="javascript:void(0)" onclick="clearContent(2);">清除源</a>
<a href="javascript:void(0)" onclick="clearContent(3);">清除结果</a>
</td>
</tr>
<tr><td class="td-field">匹配字符</td><td colspan="2"><textarea id="txtResult"></textarea></td></tr>
<tr>
<td>正则参考</td>
<td colspan="2">
<table>
<tr><td>表达式</td><td>描述</td></tr>
<tr><td>\t</td><td>制表(跳格)字符。</td></tr>
<tr><td>\n</td><td>换行。</td></tr>
<tr><td>.</td><td>匹配任何字符。</td></tr>
<tr><td>|</td><td>在它的左边和右边的任何一个表达式匹配目标字符串。例如“a|b”匹配“a”和“b”。</td></tr>
<tr><td>[]</td><td>括号内的任何字符可能匹配目标字符。例如“[ab]”匹配“a”和“b”;“[0-9]”匹配任何数字。</td></tr>
<tr><td>[^]</td><td>括号内的没有任何字符可能匹配目标字符。例如“[^ab]”匹配“a”和“b”除外的所有字符;“[^0-9]”匹配任何非数字的字符。</td></tr>
<tr><td>*</td><td>在星号左边的字符在表达式中可能匹配 0 次或多次。例如“be*”匹配“b”,“be”和“bee”。</td></tr>
<tr><td>+</td><td>在加号左边的字符在表达式中可能匹配 1 次或多次。例如“be+”匹配“be”和“bee”,但不匹配“b”。</td></tr>
<tr><td>?</td><td>在问号左边的字符在表达式中可能匹配 0 次或 1 次。例如“be?”匹配“b”和“be”,但不匹配“bee”。</td></tr>
<tr><td>^</td><td>仅当 ^ 右边的表达式在行开始的位置时匹配。例如“^A”仅匹配在行开始位置的“A”。</td></tr>
<tr><td>$</td><td>仅当 $ 左边的表达式在行结束的位置时匹配。例如“e$”仅匹配在行结束位置的“e”。</td></tr>
<tr><td>()</td><td>影响表达式的计算顺序同时也用来标记表达式。</td></tr>
<tr><td>\</td><td>转义字符。若您要使用字符“\”本身,您必须使用“\\”。</td></tr>
<tr><td colspan="2">已标记的表达式是由()围住的。标记的表达式可以被 \0、\1、\2、\3 等引用。\0 指示一个匹配完整子串的标记的表达式。\1 指示第一个标记的表达式,\2 是第二个,等等。查看下列的例子。 </td></tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
<script language="javascript" type="text/javascript">
function execReg(e) {
var keynum = '';
if (window.event) // IE
{
keynum = e.keyCode;
}
else if (e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
//alert(keynum)
if (keynum == 13) {
execQuery();
}
}
function execQuery() {
clearContent(3);
var regStr = document.getElementById("regStr").value;
var sourceStr = document.getElementById("txtSource").value;
//alert(regStr)
var reg = new RegExp(regStr, 'g');
var match = sourceStr.match(reg);
var msg = [];
for (var i = 0; i < match.length; i++) {
//msg.push(match[i]);
//alert(match[i])
document.getElementById("txtResult").value += match[i] + "\r\n";
}
//alert(msg);
}
function clearContent(d) {
if (d == 1)
document.getElementById("regStr").value = '';
if (d == 1 || d == 2)
document.getElementById("txtSource").value = '';
if (d == 1 || d == 3)
document.getElementById("txtResult").value = '';
}
</script>