当前位置: 首页 > wzjs >正文

母婴网站dede织梦四大央企是哪四大企业

母婴网站dede织梦,四大央企是哪四大企业,微软 网站开发,常德网站设计公司正则表达式在开发中是会经常使用到的,最常见的就是对数据进行有效性验证。比如:身份证号码有效性验证、手机号码有效性验证等。本篇文章将记录在PHP中使用正则表达式的学习过程。 一、什么是正则表达式? 正则表达式,它是一种文本…

正则表达式在开发中是会经常使用到的,最常见的就是对数据进行有效性验证。比如:身份证号码有效性验证、手机号码有效性验证等。本篇文章将记录在PHP中使用正则表达式的学习过程。


一、什么是正则表达式?

正则表达式,它是一种文本模式,同时也是计算机科学的一个概念,其中包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

语法

在 PHP 中,正则表达式是由分隔符、模式和可选修饰符组成的字符串。

$exp = "/test/i";

在上面的例子中,/ 是分隔符,test 是要搜索的模式,i 是一个修饰符,它使搜索不区分大小写。

分隔符可以是任何非字母、非数字、非反斜杠和非空格的字符。最常见的分隔符是正斜杠(/),但当您的模式包含正斜杠时,选择其他分隔符(如 # 或 ~)会更方便。


二、正则表达式函数

PHP 提供了多种使用正则表达式的函数,最常见的函数包括:

函数

描述

preg_match()

如果字符串中存在与模式匹配的项,则返回 1,否则返回 0。

preg_match_all()

返回字符串中与模式匹配的项的次数,次数也可能是 0。

preg_replace()

返回新字符串,其中匹配的模式已被另一个字符串替换。

1、preg_match() 

preg_match:执行匹配正则表达式。

说明

preg_match(string $pattern,string $subject,array &$matches = null,int $flags = 0,int $offset = 0
): int|false

参数

pattern(必需)

要搜索的模式,字符串类型。

subject(必需)

输入字符串。

matches(可选)

如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

flags(可选)

flags 可以被设置为以下标记值的组合:

PREG_OFFSET_CAPTURE

  如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的字节数)。注意:这会改变填充到matches参数的数组,使其每个元素成为一个由第0个元素是匹配到的字符串,第1个元素是该匹配字符串在目标字符串subject中的偏移量。

PREG_UNMATCHED_AS_NULL

  使用该标记,未匹配的子组会报告为 null;未使用时,报告为空的 string。

offset(可选)

通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于指定从目标字符串的某个位置开始搜索(单位是字节)。

返回值 

如果 pattern 匹配到指定 subject,则 preg_match() 返回 1,如果没有匹配到则返回 0, 或者在失败时返回 false。

示例

$str = "TESTabc123";
$exp = "/test/i";
echo preg_match($exp, $str); // 输出 "1"

2、preg_match_all()

preg_match_all:执行一个全局正则表达式匹配。

说明

preg_match_all(string $pattern,string $subject,array &$matches = null,int $flags = 0,int $offset = 0
): int|false

搜索 subject 中所有匹配 pattern 给定正则表达式的匹配结果并且将它们以 flag 指定顺序输出到 matches 中,在第一个匹配找到后, 子序列继续从最后一次匹配位置搜索。

参数

pattern(必需)

要搜索的模式,字符串形式。

subject(必需)

输入字符串。

matches(可选)

多维数组,作为输出参数输出所有匹配结果, 数组排序通过flags指定。

flags(可选)

可以结合下面标记使用(注意不能同时使用PREG_PATTERN_ORDERPREG_SET_ORDER):

PREG_PATTERN_ORDER

  结果排序为$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。

PREG_SET_ORDER

  结果排序为$matches[0]包含第一次匹配得到的所有匹配(包含子组), $matches[1]是包含第二次匹配到的所有匹配(包含子组)的数组,以此类推。

PREG_OFFSET_CAPTURE

  如果这个标记被传递,每个发现的匹配返回时会增加它相对目标字符串的字节偏移量。注意这会改变matches中的每一个匹配结果字符串元素,使其成为一个第0个元素为匹配结果字符串,第1个元素为匹配结果字符串在subject中的偏移量。

PREG_UNMATCHED_AS_NULL

  传入此标记,未匹配的子组报告为 null;否则会是空 string。

如果没有给定排序标记,默认为PREG_PATTERN_ORDER

offset(可选)

通常, 查找时从目标字符串的开始位置开始。可选参数offset用于从目标字符串中指定位置开始搜索(单位是字节)。

返回值

返回完整匹配次数(可能是 0), 或者在失败时返回 false。

示例

$str = "This is an apple.";
$exp = "/is/i";
echo preg_match_all($exp, $str); // 输出 "2"

3、preg_replace()

preg_replace:执行一个正则表达式的搜索和替换。

说明

preg_replace(string|array $pattern,string|array $replacement,string|array $subject,int $limit = -1,int &$count = null
): string|array|null

搜索 subject 中匹配 pattern 的部分,以 replacement 进行替换。

参数

pattern(必需)

要搜索的模式。可以是一个字符串或字符串数组。

replacement(必需)

用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 patternreplacement 都是数组,每个 pattern 使用 replacement 中对应的元素进行替换。如果 replacement 中的元素比 pattern 中的少,多出来的 pattern 使用空字符串进行替换。

subject(必需)

要进行搜索和替换的字符串或字符串数组。

如果 subject 是一个数组,搜索和替换回在 subject 的每一个元素上进行, 并且返回值也会是一个数组。

如果 subject 是关联数组,则键会保留在返回值中。

limit(可选)

每个模式在每个 subject 上进行替换的最大次数。默认是 -1(无限)。

count(可选)

如果指定,将会被填充为完成的替换次数。

返回值

如果 subject 是一个数组,preg_replace() 返回一个数组,其他情况下返回一个字符串。

如果匹配被查找到,替换后的 subject 被返回,其他情况下返回没有改变的 subject。如果发生错误,返回 null 。

示例 使用不区分大小写的正则表达式将字符串中的 "apple" 替换为 "orange":

$str = "This is an apple.";
$exp = "/apple/i";
echo preg_replace($exp, "orange", $str); // 输出 "This is an orange."

三、正则表达式修饰符

修饰符可以改变搜索的执行方式。

修饰符

描述

i

执行不区分大小写的搜索。

m

执行多行搜索(在字符串的开头或结尾搜索匹配项的模式现在将匹配每行的开头或结尾)。

u

启用 UTF-8 编码模式的正确匹配。


四、正则表达式模式 

使用方括号来查找一系列字符:

表达式

描述

[abc]

查找方括号内的一个或多个字符。

[^abc]

查找不在方括号内的任何字符。

[a-z]

查找两个字母之间的任何字母字符。

[A-z]

查找指定大写字母和指定小写字母之间的任何字符。

[A-Z]

查找两个大写字母之间的任何字符。

[123]

查找方括号内的一个或多个数字。

[0-5]

查找两个数字之间的任何数字。

[0-9]

查找任何数字。


五、元字符 

元字符是具有特殊含义的字符:

元字符

描述

|

查找由 | 分隔的任何模式之一,如:cat|dog|fish。

.

查找任何字符。

^

查找作为字符串开头的匹配项,如:^Hello。

$

查找作为字符串结尾的匹配项,如:World$。

\d

查找任何数字。

\D

查找任何非数字。

\s

查找任何空白字符。

\S

查找任何非空白字符。

\w

查找任何字母(a 到 Z)和数字(0 到 9)。

\W

查找任何非字母和非数字字符。

\b

查找位于单词开头或结尾的匹配项,如:\bWORD 或 WORD\b。

\uxxxx

查找由十六进制数 xxxx 指定的 Unicode 字符。


六、量词 

量词定义数量:

量词

描述

n+

匹配包含至少一个 n 的任何字符串。

n*

匹配包含零个或多个 n 的任何字符串。

n?

匹配包含零个或一个 n 的任何字符串。

n{3}

匹配包含三个 n 的序列的任何字符串。

n{2, 5}

匹配包含至少 2 个但不超过 5 个 n 的序列的任何字符串。

n{3,}

匹配包含至少 3 个 n 的序列的任何字符串。

注意:如果表达式需要搜索特殊字符之一,可以使用反斜杠(\)来转义它们。例如,要搜索一个或多个问号,可以使用以下表达式:$pattern = '/\?+/';。 


七、分组

可以使用括号 ( ) 将量词应用于整个模式。它们还可以用于选择模式的一部分作为匹配项。

示例 使用分组通过查找 ba 后跟两个 na 实例来搜索单词 "banana":

$str = "This is a banana.";
$exp = "/ba(na){2}/i";
echo preg_match($exp, $str); // 输出 "1"
http://www.dtcms.com/wzjs/538438.html

相关文章:

  • 网站分类 维护寺庙网站素材
  • 服务好的网站开发房屋装修设计师怎么学
  • 网站图片一般分辨率做多大wordpress聚合页面
  • 网站建设中 单页在山东省建设监理协会网站
  • wordpress主机建站外贸出口流程12步骤
  • 网站做百度推广有没有效果呼和浩特网站建设网络公司
  • 企业网站建设与推广范文深圳宝安区房价多少钱一平方
  • 网站空间费网站开发实例教程
  • 成立一个网站需要多少钱企业网站优化平台
  • 学做美食视频网站网页设计考试题目
  • 咨询行业网站制作wordpress用户注册邮件
  • 个人可以做企业网站河南制作网站
  • 免费linux网站空间上海市企业
  • 宜宾网站建设北斗网络衣服定制的app有哪些
  • 怎么做网站中英文版本哪个网站可以免费做H5
  • 合法购物网站建设学校网站怎么建设视频
  • 做旅游网站多少钱免费网站开发公司
  • 高端大气上档次的网站wordpress收录提高百度
  • 医院网站模板 html导航网站移动端流量占比
  • 做jsp网站用哪些软件下载wordpress网站插件下载
  • 网站开发需要什么配置的电脑新手网站建设模板下载
  • 哈尔滨建设部网站中国卫生人才网官网
  • 十大创意网站大理市建设局网站
  • 网站icp备案费用如何注册百度账号
  • zencart网站地图生成哪个网站建设服务器是在国外的
  • 织梦网站怎么建设百度站长平台诊断
  • 勾线外包网站wordpress域名修改后
  • 石家庄市住房建设局网站网站建设主要研究内容
  • 开网店需要自己做网站吗wordpress禁用导航栏代码
  • 帮客户做网站的公司seo计费