下面的正则表达式是什么意思^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 14:51:04
下面的正则表达式是什么意思^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$
下面的正则表达式是什么意思
^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$
下面的正则表达式是什么意思^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$
\D 表示非数字
\d 表示数字
{数字n} 表示前面的内容重复n次
?表示前面的内容出现零次或一次
() 括号用于分组,在匹配之后可以根据分组号获取匹配内容
这个是用来提取固定格式的字符串中的数字的,不知道你这个用来提取的是什么样的一个源内容,不好猜测是做哪方面的提取,大体的字符格式如下示例:
后面的内容你保存为 html 后,可以测试如下的字符串,可以提取到相应的数字:
a234ab234b2344
234ab234b2344
a234b234b2344
234b234b2344
1234567890
<html>
<head>
<script type="text/javascript">
function check()
{
var str;
str = document.getElementById("txtInput").value;
if (str.match(/^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/) == null)
{
alert("匹配失败");
return;
}
alert("提取到如下三组数字:\n" + RegExp.$1 + "\n" + RegExp.$2 + "\n" + RegExp.$3);
}
</script>
</head>
<body>
输入:<input type="text" id="txtInput" />
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>