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

成都p2p网站建设做网站需要准备什么

成都p2p网站建设,做网站需要准备什么,wordpress找不到根目录,企业为什么需要搭建一个网站正则表达式在开发中是会经常使用到的,最常见的就是对数据进行有效性验证。比如:身份证号码有效性验证、手机号码有效性验证等。本篇文章将记录在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/44323.html

相关文章:

  • 网站腾讯qq对话框怎么做什么是营销型网站?
  • 网站建设公司怎么开创建网站需要多少资金
  • 顺德人做多上哪个网站杭州seo工作室
  • 西安网站建设价格低最新新闻播报
  • 环宇网站建设北京网站优化技术
  • 做动画合成的视频网站成都正规搜索引擎优化
  • 手机网站app清远头条新闻
  • 克拉玛依做网站专业网站推广软件
  • 如何制作自己的网站模版dsp投放方式
  • 福田住房和建设局网站官网独立站建站平台有哪些
  • 电商网站成品案例竞价托管开户
  • 模具做外贸网站网络销售的方法和技巧
  • 网站 绝对路径搜索关键词排行榜
  • 湛江知名网站建设电话优化教程网
  • 百度搜索页面seo排名优化教程
  • 网站建设中的思想和算法最新的即时比分
  • 时代网站管理系统怎么做网站佛山做网站建设
  • 做聊天室cpa用什么类型的网站好web制作网站的模板
  • wordpress获取文章图片地址网站搜索引擎优化的步骤
  • 用旧手机做网站服务器搜索引擎优化理解
  • 财务部官方网站经济建设司产品互联网推广
  • ps做网站需注意seo发包技术教程
  • 茂易网站建设网站推广平台有哪些
  • 建站abc做网站好累广告推广语
  • 摄影网站采用照片做宣传 版权费是多少旺道网站优化
  • 宣传网站有哪些网站搭建教程
  • 网站开发德菁百度平台app
  • 可以做装修效果图的网站有哪些东莞哪种网站推广好
  • 用百度云服务器做网站站长统计app软件下载
  • 广州安尔捷做的网站好吗全网营销推广方案外包