PHP匹配连续的数字或字母的正则表达式
正则表达式的写法规则"/规则需要写在2个斜杠中间/"。
-
(. 小数点)用于匹配除换行符之外的所有字符。
-
(\s反斜杠小写s)用于匹配单个空格符,包括tab键和换行符;
-
(\S反斜杠大写S)用于匹配除单个空格符之外的所有字符;
-
(\d反斜杠d)用于匹配从0到9的数字;也可以这样写[0-9]
-
(\w反斜杠小写w)用于匹配字母,数字或下划线字符;
-
(\W反斜杠大写W)用于匹配所有与\w不匹配的字符;
元字符包括 +, ,?
元字符理解起来容易混淆,所以我在后面做了代码结果截图
“+”元字符规定其前导字符必须连续出现一次或多次
= 比如/es+/
与“tesseessssseast12354haeasashaha”字符串相匹配,要与第一个字母e匹配,然后匹配s,s必须出现一次或多次,请看实例截图。
“”元字符规定其前导字符必须出现零次或连续多次
= 比如/es/
与“tesseessssseast12354haeasashaha”字符串相匹配,与第一个字母e匹配,后面的s出现零次或者连续出现,看实例。
“?”元字符规定其前导对象必须连续出现零次或一次
= 比如/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},注意当不确定次数的时候就不用写(也不用空格)。
我们要指定出现多少次的可以写成这样es{3}表示s出现3次
举一反三
比如要替换连续多个空格为一个空格,我可以这样写preg_replace("/\s+/"," ",$str);
比如要找出字符串中的数字(整数)preg_replace("/\d+/", "(); 是表示符合规则的字符串值
比如要找出字符串中的带小数点的数字preg_replace("/\d+\.\d+/", "(); //这里的“\.”表示输出小数点
找出由字母组成的字符串preg_replace("/[a-zA-Z]+/", "()
找出由(字母、数字混合)组成的字符串preg_replace("/([a-zA-Z]|\d)+/", "()
正则表达式中“或”运算,使用 “ | ”
例如上面的例子找出由(字母或数字)混合组成的字符串([a-zA-Z]|\d) 也可以这样写([a-zA-Z]|[0-9])
“^”出现在 “[ ]”内时就被视做否定运算符;[^0-9]表示除了数字之外的任何字符。
而当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。
定位符的意思就是比如“^The”开头一定要有”The”字符串;类似的“en$”$符号表示必须是en结尾。
其实认真看一遍就会发现正则表达式还是挺简单的,除非是我写的教程真的有问题。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程