首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP preg_match - 仅允许使用字母数字字符串和__字符

PHP preg_match 是一种用于匹配正则表达式的函数。它允许您检查字符串是否与给定的正则表达式匹配,并返回一个布尔值。

语法

代码语言:php
复制
bool preg_match ( string $pattern , string $subject )

参数

  • pattern: 需要匹配的正则表达式。
  • subject: 要匹配的字符串。

返回值: 如果正则表达式与字符串匹配,则返回 true,否则返回 false

示例

代码语言:php
复制
<?php
$pattern = '/^[\w\_\-]+$/';
$subject = 'hello world!';

if (preg_match($pattern, $subject)) {
    echo 'The string matches the pattern';
} else {
    echo 'The string does not match the pattern';
}
?>

优势

  • 允许您使用正则表达式进行复杂的字符串匹配。
  • 提供了错误处理功能,可以处理不匹配的情况。

应用场景

  • 在文本处理中,可以使用 preg_match 函数检查文本是否与给定的正则表达式匹配。
  • 在表单验证、数据验证、搜索功能等场景中,可以使用 preg_match 函数检查用户输入的数据是否符合指定的格式。

推荐的腾讯云相关产品

产品介绍链接地址

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP生成随机字符串实例代码(字母+数字

当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度 function randomkeys...随机数 } return $key; } echo randomkeys(8); 另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。...随机数 } return $output; } echo randomkeys(8); 在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr...第二个函数第一个函数功能相同,而且更简洁。如果不需要特殊字符的话还是直接写在字符池中比较好。 ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。...为保证人类设备,设备计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

3.1K30

PHP删除字符串中非字母数字字符方法总结

可以使用preg_replace()函数删除非字母数字字符。此函数执行正则表达式搜索替换。函数preg_replace()搜索由pattern指定的字符串,如果找到则用替换替换模式。 ?...代码示例: 方法1:正则表达式’/ [\ W] /’匹配所有非字母数字字符,并用”(空字符串)替换它们。...php // 包含非字母数字字符字符串 $str="!@php.cn2019?"...az:它用于所有小写字母,因为在语句中已经提到过i(不区分大小写),所以不需要指定AZ。 0-9:用于匹配所有数字。 <?php //包含非字母数字字符字符串 $str="!...$original_string:这是完成搜索替换的原始字符串。 返回值: 更换发生后,将返回修改后的字符串。 如果未找到匹配项,则原始字符串保持不变。

2.3K21

在Python中使用大写字母数字生成随机字符串

To generate the random string, we could use the following modules from python,    本文的目的是生成带有大写字母数字的随机字母数字字符串...要生成随机字符串,我们可以使用python中的以下模块,    random module – for random string generation 随机模块 –用于随机字符串生成 String module...– for upper case alphabets  字符串模块 –用于大写字母   Step 1: Use the string constant string.ascii_uppercase to...步骤1:使用字符串常量string.ascii_uppercase可以在单个字符串中获取所有大写字母。...步骤2:运行for循环x次,使用random.choice()从字符串常量中获取字符,然后使用join函数将其附加到字符串变量中。 选择功能用于获取单个字符

1.6K00

PHP正则表达式_python正则匹配字母

一、正则表达式语法(Perl风格) 1、模式规则   /php/ 字符串前后加上两条斜杠即可 2、匹配函数    preg_match(’/php/’,php)   参数1 模式   参数2 字符串...[a-z] 匹配任何包含小写字母a-z的字符串 [A-Z] 匹配任何包含大写字母A-Z的字符串 [0-9] 匹配任何包含0-9的字符串 [abc] 匹配任何包含小写字母a,b,c的字符串 [^abc]...匹配任何不包含小写字母a,b,c的字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9下划线的字符串 \w 匹配任何包含a-zA-Z0-9下划线的字符串 \W 匹配任何不包含a-zA-Z0...-9下划线的字符串 \d 匹配任何包含数字字符 \D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符 \b 匹配是否到达了单词边界 \B 匹配没有到达了单词边界 \ 匹配正则中的特殊字符...量词、元字符、修饰符,每个都不能忽视,搭配起来使用,多多练习才能熟能生巧。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

2.7K20

PHP正则表达式笔记与实例详解

a-z表示小写字一位数字构成的两位字符                   [a-zA-Z0-9] 表示任意一位大小字母数字         [^] 表示除中括号内原子之外的任何字符...$"  //浮点数 "^[A-Za-z]+$"  //由26个英文字母组成的字符串 "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 "^[a-z]+$"  //由26个英文字母的小写组成的字符串..."^[A-Za-z0-9]+$"  //由数字26个英文字母组成的字符串 "^w+$"  //由数字、26个英文字母或者下划线组成的字符串 "^[w-]+(....(\\w+(-\\w+)*))*(\\?\\S*)?$[/url] 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^a-zA-Z{4,15}$ 匹配国内电话号码:(...(d+) 36、电话区号:/^0d{2,3}$/ 37、腾讯QQ号:^[1-9] $ 38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^a-zA-Z{4,15}$ 39、中文、英文、数字及下划线

1K00

PHP正则表达式笔记与实例详解

字符(具有特殊意义字符): [] 表示单个字符的原子表 例如:[aoeiu] 表示任意一个元音字母 [0-9] 表示任意一位数字 [a-z][0-9]表示小写字一位数字构成的两位字符 [...普通转义字符: \d 匹配一个数字;等价于[0-9] \D 匹配除数字以外任何一个字符;等价于[^0-9] \w 匹配一个英文字母数字或下划线;等价于[0-9a-zA-Z_] \W 匹配除英文字母数字下划线以外任何一个字符...$”  //浮点数 “^[A-Za-z]+$”  //由26个英文字母组成的字符串 “^[A-Z]+$”  //由26个英文字母的大写组成的字符串 “^[a-z]+$”  //由26个英文字母的小写组成的字符串...“^[A-Za-z0-9]+$”  //由数字26个英文字母组成的字符串 “^\w+$”  //由数字、26个英文字母或者下划线组成的字符串 “^[\w-]+(\....[/url] 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15} 元字符及其在正则表达式上下文中的行为: \ 将下一个字符标记为一个特殊字符

2.8K40

PHP学习笔记——正则表达式

1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符字符串 量词 说明 匹配任何至少包含一个前导字符串 匹配任何包含零个或多个前导字符串...匹配任意一个字符串 {x} 匹配任何包含x个前导字符串 {x,y} 匹配任何包含 x 到 y 个前导字符串 {x,} 匹配任何包含至少x个前导字符串 ^ 匹配字符串的行首 $ 匹配字符串的行尾...说明 [a-z] 匹配任何包含小写字母a-z的字符串 [A-Z] 匹配任何包含大写字母A-Z的字符串 [0-9] 匹配任何包含0-9的字符串 [abc] 匹配任何包含小写字母...a,b,c的字符串 [^abc] 匹配任何不包含小写字母a,b,c的字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9下划线的字符串 \w 匹配任何包含a-zA-Z0-9...下划线的字符串 \W 匹配任何不包含a-zA-Z0-9下划线的字符串 \d 匹配任何包含数字字符 \D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符

1.1K30

PHP正则表达式

正则表达式 1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符字符串 量词 说明 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符串...匹配任意一个字符串 {x} 匹配任何包含x个前导字符串 {x,y} 匹配任何包含 x 到 y 个前导字符串 {x,} 匹配任何包含至少x个前导字符串 ^ 匹配字符串的行首 $ 匹配字符串的行尾...preg_match('/(abc)+/','abcd');//返回1 元字符 说明 [a-z] 匹配任何包含小写字母a-z的字符串 [A-Z] 匹配任何包含大写字母A-Z的字符串 [0-9] 匹配任何包含...0-9的字符串 [abc] 匹配任何包含小写字母a,b,c的字符串 [^abc] 匹配任何不包含小写字母a,b,c的字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9下划线的字符串 \w...匹配任何包含a-zA-Z0-9下划线的字符串 \W 匹配任何不包含a-zA-Z0-9下划线的字符串 \d 匹配任何包含数字字符 \D 匹配任何非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符

1.5K10

PHP常用正则表达式精选(推荐)

PHP常用正则表达式,具体内容如下所述: $regex = '[\u4e00-\u9fa5]'; //匹配中文字符的正则表达式 $regex = '^[\u4E00-\u9FA5A-Za-z0-9]+$..._]{4,15}$'; //帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) $regex = '[^\x00-\xff]'; //匹配双字节字符(包括汉字在内) $regex = '\n...; } ps:下面给大家分享几种常用正则表达式PHP字符串过滤所有非英语字符特殊符号保留英语字符数字空格: $string = "abcd23uo*&* (.字符串过"; preg_match_all...("/[\w\s]/i", $string, $matches); print_r(implode('', $matches[0])); 字符串过滤所有非中文字符: $string = "abcd23uo...*&* (.字符串过"; preg_match_all("/([\x{4e00}-\x{9fa5}])/u", $string, $matches); print_r(implode('', $matches

87920

PHP正则表达式之量词、元字符、修饰符

介绍 1、正则表达式中包含三种元素分别为:量词、元字符、修饰符 2、前导字符串:就是符号前面的一个字符字符串 量词 + 匹配任何至少包含一个前导字符串 * 匹配任何包含零个或多个前导字符串 ?...匹配任意一个字符串 {x} 匹配任何包含x个前导字符串 {x,y} 匹配任何包含 x 到 y 个前导字符串 {x,} 匹配任何包含至少x个前导字符串 ^ 匹配字符串的行首 $ 匹配字符串的行尾 |.../','abcd'); //返回1 元字符字符 说明 [a-z] 匹配任何包含小写字母a-z的字符串 [A-Z] 匹配任何包含大写字母A-Z的字符串 [0-9] 匹配任何包含...0-9的字符串 [abc] 匹配任何包含小写字母a,b,c的字符串 [^abc] 匹配任何不包含小写字母a,b,c的字符串 [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9下划线的字符串...\w 匹配任何包含a-zA-Z0-9下划线的字符串 \W 匹配任何不包含a-zA-Z0-9下划线的字符串 \d 匹配任何包含数字字符 \D 匹配任何非数字字符 \s

88842

dart系列之:在dart中使用数字字符串

今天给大家介绍一下dart:core中的数字字符串使用。 # 数字 dart:core中定义了三种类型的数字,分别是num,intdouble。 num是所有数字的总称。...core中还有以一种数据类型叫做BigInt,BigInt是一种独立的数据类型,并不是num的子类: abstract class BigInt implements Comparable 数字中最常见的操作就是将字符串转换为数字...,比如是十进制还是十六进制: assert(int.parse('11', radix: 16) == 17); 上面我们讲到了如何将字符串转换成为数字,下面是如何将数字转换成为字符串,num提供了toString...[1] == '好'); 但是有些字符使用一个UTF-16单元是表示不了的,这时候就需要用到 characters 包对特定的字符进行处理。...其中writeAll() 将传入的字符数组以特定的连接符进行连接。 总结 以上就是dart中数字字符串的介绍。

1.1K20

Web安全 | 无字母数字Webshell 总结

绕过原理 在 PHP 中两个字符串异或之后,得到的还是一个字符串。...如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字字符进行异或,从而得到我们想要的字符串。 例如,我们异或 ?...那么或运算原理也是一样,如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字字符进行或运算,从而得到我们想要的字符串。 构造脚本 下面给出一个或运算绕过的脚本: <?...我们发现,在PHP中,如果强制连接数组字符串的话,数组将被转换成字符串,其值为 Array: image-20210507012008922 而 Array 的第一个字母就是大写 A,而且第4个字母是小写...如果没有限制字母的话我们完全可以使用 /???/php?????? 来提高匹配几率,但是题目限制的就是字母数字,所以我们的想别的办法。

5.4K10

老生常谈的无字母数字Webshell总结

如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字字符进行异或,从而得到我们想要的字符串。 例如,我们异或?...那么或运算原理也是一样,如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字字符进行或运算,从而得到我们想要的字符串。 构造脚本 下面给出一个或运算绕过的脚本: <?...我们发现,在PHP中,如果强制连接数组字符串的话,数组将被转换成字符串,其值为Array: 而Array的第一个字母就是大写 A,而且第4个字母是小写 a。...如果没有限制字母的话我们完全可以使用/???/php??????来提高匹配几率,但是题目限制的就是字母数字,所以我们的想别的办法。...; } eval($code); } 需要构造无字母数字的 Webshell,但是过滤了_$就比较麻烦了,并且由于题目时 PHP 5 的环境: 其不允许PHP 7 中通过('phpinfo')(

3.5K20

PHP正则表达式字符串匹配

正则表达式正则表达式是一种可以用来匹配字符串的模式。在PHP中,可以使用preg_match()函数来使用正则表达式进行匹配。...正则表达式语法在PHP中,正则表达式由元字符特殊字符组成。元字符是在正则表达式中具有特殊含义的字符,特殊字符是用来匹配特定字符字符类的字符。下面是一些常用的正则表达式元字符特殊字符:....:匹配任意单个字符,除了换行符。\d :匹配任意数字。\D :匹配任意非数字字符。\s :匹配任意空白字符,包括空格、制表符、换行符等。\S :匹配任意非空白字符。\w :匹配任意字母数字或下划线。...\W :匹配任意非字母数字或下划线字符。[] :匹配中括号中的任意一个字符。例如,[abc]匹配a、b或c。^ :匹配行首。例如,^hello匹配以hello开头的行。$ :匹配行尾。...正则表达式函数在PHP中,有多个函数可以用于正则表达式匹配。以下是一些常用的函数:preg_match():在字符串中查找匹配的模式。如果匹配成功,返回1;否则返回0。

1.2K30

PHP.步步为营 | 正则表达式详析 与 诸多运用实例

PHP正则表达式(PCRE)定义 正则表达式是对字符串进行操作的一种逻辑公式, 就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式。...PHP使用PCRE库函数进行正则匹配, 比如上例中的preg_match用于执行一个正则匹配, 常用来 判断一类字符模式是否存在。 ---- 2....正则表达式的基本语法 PCRE库函数中,正则匹配模式使用分隔符与元字符组成; 分隔符可以是非数字、非反斜线、非空格的任意字符。...使用正则表达式进行匹配 使用正则表达式的目的是为了实现比字符串处理函数更加灵活的处理方式, 因此跟字符串处理函数一样, 其主要用来 判断子字符串是否存在; 实现字符串替换、分割字符串; 获取模式子串等...正则表达式的搜索替换 正则表达式的搜索与替换在某些方面具有重要用途, 比如调整目标字符串的格式,改变目标字符串中匹配字符串的顺序等。

1.7K10

PHP代码审计05之正则使用不当

了解了函数的用法,看上面代码,[^a-z.-_] 表示匹配除了 a 字符到 z 字符. 字符到 _ 字符之间的所有字符,但是没有考虑到目录路径字符。...> 这道题目考察了是否熟悉PHP正则表达的字符类,大体是下面这个表格: | alnum | 字母数字 | | alpha | 字母 | | ascii | 0 - 127的ascii字符...| lower | 小写字母 | | print | 打印字符,包含空格 | | punct | 打印字符, 不包括字母数字 | | space | 空白字符 (比\s多垂直制表符)...| | upper | 大写字母 | | word | 单词字符(same as \w) | | xdigit | 十六进制数字 | 想要更加详细的了解,建议翻阅PHP手册,了解了字符类,下面来分析代码...看代码第117行,这里是获取目录路径,参数也是我们可以控制的,再向后看,用到了str_replace()函数,它是个字符串替换函数,具体说明如下: ?

56111
领券