PHP匹配连续的数字或字母的正则表达式
正则表达式的写法规则:规则需要写在2个斜杠中间。
(:⼩数点)⽤于匹配除换⾏符之外的所有字符。
(:反斜杠⼩写s)⽤于匹配单个空格符,包括tab键和换⾏符;
(:反斜杠⼤写S)⽤于匹配除单个空格符之外的所有字符;
(:反斜杠d)⽤于匹配从0到9的数字;也可以这样写:
(:反斜杠⼩写w)⽤于匹配字母,数字或下划线字符;
(:反斜杠⼤写W)⽤于匹配所有与\w不匹配的字符;
+*?
元字符理解起来容易混淆,所以我在后⾯做了代码结果截图
复制代码代码如下:
“+”元字符规定其前导字符必须连续出现⼀次或多次
= ⽐如/es+/
与“tesseessssseast12354haeasashaha”字符串相匹配,⾸先要与第⼀个字母e匹配,然后匹配s,s必须出现⼀次或多次,请看实例截图。
“*”元字符规定其前导字符必须出现零次或连续多次
= ⽐如/es*/
与“tesseessssseast12354haeasashaha”字符串相匹配,⾸先与第⼀个字母e匹配,后⾯的s出现零次或者连续出现,看实例。
“?”元字符规定其前导对象必须连续出现零次或⼀次
php实例代码教程= ⽐如/es?/
与“tesseessssseast12354haeasashaha”字符串相匹配,⾸先与第⼀个字母e匹配,后⾯的s出现零次或者最多出现⼀次(就是最后⼀个字母s不重复出现)。
⽰例代码:
复制代码代码如下:
$str = "tesseessssseast12354haeasashaha";
echo "=====".$str."
";
echo "/es+/:".preg_replace("/es+/","-\\0-",$str)."
";
echo "/es*/:".preg_replace("/es*/","-\\0-",$str)."
";
echo "/es?/:".preg_replace("/es?/","-\\0-",$str)."
";
>
另外如果觉得元字符“+*?”⽐较难理解可以⽤这种⽅法代替:
⽐如es*我们可以写成es{0,},⽽es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不⽤写(也不⽤空格)。
当然我们要指定出现多少次的可以写成这样:表⽰s出现3次
⽐如要,我可以这样写:⽐如要:是表⽰符合规则的字符串值
⽐如要:
出由字母组成的字符串:
出由(字母、数字混合)组成的字符串:
例如上⾯的例⼦:出由(字母或数字)混合组成的字符串也可以这样写
“”出现在 “[ ]”内时就被视做否定运算符;表⽰除了数字之外的任何字符。
⽽当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。
定位符的意思就是⽐如:“”:开头⼀定要有”The”字符串;类似的:“”:$符号表⽰必须是en结尾。其实认真看⼀遍就会发现正则表达式还是挺简单的,除⾮是我写的教程真的有问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论