正则表达式 第1章 入门篇 正则表达式 第1章 入门篇

2022-06-15

一、什么是正则表达式

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")

  • 正则表达式是用于描述字符排列模式的一种语法规则。

  • 正则表达式也叫做模式表达式。

  • 网站开发中正则表达式最常用于表单提交信息前的客户端验证。

    比如验证用户名是否输入正确,密码输入是否符合要求,email、手机号码等信息的输入是否合法。

  • 在php中正则表达式主要用于字符串的分割、匹配、查找和替换操作。

二、正则表达式的发展历史

正则表达式的"祖先"可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。

1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为"神经网事件的表示法"的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为"正则集的代数"的表达式,因此采用"正则表达式"这个术语。

随后,发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson 是 Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的 qed 编辑器。

如他们所说,剩下的就是众所周知的历史了。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。

三、实例

① 从字符串 str 中提取数字部分的内容

var str = "abc123def";
var patt1 = /[0-9]+/;
document.write(str.match(patt1));

② 匹配以数字开头,并以 abc 结尾的字符串

https://file.lulublog.cn/images/3/2022/08/Dpmy0yV001CbzmbPyvzpjxfmMY0xaJ.jpg

  • ^ 为匹配输入字符串的开始位置。

  • [0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。

  • abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置

var str = "123abc";
var patt1 = /^[0-9]+abc$/;
document.write(str.match(patt1));

四、正则表达式的用途

  • 测试字符串内的模式。例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。

  • 替换文本。可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

  • 基于模式匹配从字符串中提取子字符串。可以查找文档内或输入域内特定的文本。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 561