本帖最后由 马黑黑 于 2023-1-14 18:18 编辑
<div id="mybox"> <p>20世纪40年代:正则表达式最初的想法来自两位神经学家:沃尔特·皮茨与麦卡洛克,他们研究出了一种用数学方式来描述神经网络的模型。</p> <p>1956年:一位名叫Stephen Kleene的数学科学家发表了一篇题目是《神经网事件的表示法》的论文,利用称之为正则集合的数学符号来描述此模型,引入了正则表达式的概念。正则表达式被作为用来描述其称之为“正则集的代数”的一种表达式,因而采用了“正则表达式”这个术语。</p> <p>1968年:C语言之父、UNIX之父肯·汤普森把这个“正则表达式”的理论成果用于做一些搜索算法的研究,他描述了一种正则表达式的编译器,于是出现了应该算是最早的正则表达式的编译器qed(这也就成为后来的grep编辑器)。</p> <p>Unix使用正则之后,正则表达式不断的发展壮大,然后大规模应用于各种领域,根据这些领域各自的条件需要,又发展出了许多版本的正则表达式,出现了许多的分支。我们把这些分支叫做“流派”。</p> <p>1987年:Perl语言诞生了,它综合了其他的语言,用正则表达式作为基础,开创了一个新的流派,Perl流派。之后很多编程语言如:Python、Java、Ruby、.Net、PHP等等在设计正则式支持的时候都参考Perl正则表达式。</p> </div> <p><button id="btn">开始查找</button> <input type="text" id="tfind" placeholder="支持正则" /> <span id="msgout">例如:\d{2}年</span></p>
<script>
let findStr = () => { let reg = new RegExp(tfind.value,'g'); let str = mybox.innerText; let matchAr= str.match(reg); if (matchAr) { str = str.replace(reg, '<span style="background: orange">$&</span>'); } str = str.replace(/^.*$/gm,'<p>$&</p>'); str = str.replaceAll('<p><\/p>',''); mybox.innerHTML = str; };
btn.onclick = () => findStr();
</script> |