概要
在几篇关于语句的文章看到过这个名词,但不知道什么意思。今天再次看到,学习一下。
Regular Expression:用单个字符串描述,匹配一系列符合语法规则的字符串。
尝试
<script>
var str = "abc123de2@2=34f";
var patt1 = /[0-9a-z_=]{3,5}/;
document.write(str.match(patt1));
</script>
任务
语法中提到colo?r可以同时匹配color与colour我决定尝试一下。
因为没有想象中那么简单,正好做为目标学习。
已有
- 网页编写
过程
首先根据例程,自以为的编写是行不通的:
var patt1 = /'colo'?'r'/;
模式匹配是每个字符进行一一对应,即应为:
var patt1 = /[c][o][l][o]/;
但采取这种方法依然不能成功
这样的书写方式正确:
var patt1 = /colo/;
最接近结果,但与想象的仍有差异:
var good = document.getElementById("show");
var str = "colour";
var m = /colo(?=r|ur)/g;
good.textContent = document.write(str.match(m));
总结
看到这个网站,上面有各种形式的模式串模板,应当可以为网页编写所需,在此记录。
- 例如:
- IP地址:((?: (?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))
- 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?