滑稽兔的blog PHP and Python Coder

正则表达式基础知识

2019-10-13
滑稽兔啊


前言

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

正则表达式的特点是:

  1. 灵活性、逻辑性和功能性非常强;
  2. 可以迅速地用极简单的方式达到字符串的复杂控制。
  3. 对于刚接触的人来说,比较晦涩难懂。

特殊字符:

^ 开始 只能写在最前面
$ 结束 只能写在最后面
* 前面的字符出现任意次(包括0次)
+ 前面的字符出现1+次
? 前面的字符出现最多一次(0,1)
{m} 前面的字符出现m次
{m,n} m次到n次 {m,}最少m次 {0,n}最多n次
[] 其中所有的字符任意出现一次
. 通配(除了换行符\n)、
\ 转义符 能够转义掉特殊字符的特殊含义
\和普通字符组合 具有特殊含义 \d 代表数字[0-9] \D 代表 非数字
\w 数字字符下划线[0-9a-zA-Z] \W 非数字字母下划线
规则修饰符i 不区分大小写 //例:/abc/i
规则修饰符g 全文查找 //例:/abc/ig
test(字符串) 返回true/false
match(正则) 返回数字/null

常用正则:

名称 正则  
手机号正则: /^1[3-9]\d{9}$/  
用户名: /^(\w \d){3,16}$/
密码: /^(\w\d){6,16}$/  
邮箱: /\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*/  
网址: ^[a-zA- z]+://(\w+(-\w+))(\.(\w+(-\w+)))(\?\S)?$  
中文字符: /[\u4e00-\u9fa5]/  

验证数据是否符合正则规则

正则规则.test(字符串) 返回true/false

console.log(reg.test(str));

字符串.match(正则) 返回数组/null

console.log(str.match(reg));

`preg_match()` 函数用于执行第一个正则表达式匹配 `preg_match_add()` 函数用于匹配全部 *参数1:要搜索的模式,字符串形式(设置好的正则) *参数2:输入字符串 *参数3:搜索结果

栗子:

$html="123afg2sxv";
$reg="/a/";
preg_match_all($reg,$html,$arr)
echo "<pre>";	print_r($arr);	echo "<pre>";

其他

子查询() 能够查到括号中的内容 贪婪模式:尽可能多的匹配(默认) 修饰符U,取消贪婪模式(尽可能的少匹配) 栗子:/<h1>(.*)<\/h1>/U; 修饰符s 能够让.匹配换行符(真正的通配符)



Similar Posts

下一篇 有趣的网站

Comments