【发布时间】:2017-01-05 08:51:12
【问题描述】:
我正在尝试从文本区域字段中的 Apache 日志文件输入中提取所有 IP 地址。我正在使用正则表达式来提取 IP 地址。我想查看屏幕上打印的所有 IP 地址。 我无法理解我做错了什么。请帮忙
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RegEx_example</title>
</head>
<body style = "background-color: lightgrey">
<center>
<h3><u>Log Miner</u></h3>
<br /><hr />
<h5>Paste your Apache log file in the box below and click on Mine!</h5>
<textarea rows="25" cols="200" form="mine_log" id = "logs">
</textarea>
<form id = "mine_log" method = "" onsubmit="parseLogs(document.getElementById('logs').value)">
<input type = "submit" value = "Mine!!" />
</form>
<script language="JavaScript" type="text/javascript">
function parseLogs(text) {
var re = new RegExp("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$");
var myArray = re.exec("text");
document.write(myArray.toString());
}
</script>
</center>
</body>
</html>
【问题讨论】:
-
您现在的代码有什么问题?
-
您肯定需要尝试正则表达式文字
var re = /([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/g;。并使用input.match(re)。 -
@Reddy :它没有显示任何内容。它应该打印所有出现的地址
-
您正在测试字符串“test”而不是给定变量
-
删除
^anchors$。
标签: javascript regex