时间:2021-07-01 10:21:17 帮助过:33人阅读
正则表达式的写法规则:"/规则需要写在2个斜杠中间/"。
元字符包括: +, *,?
元字符理解起来容易混淆,所以我在后面做了代码结果截图
代码如下:
- <br>“+”元字符规定其前导字符必须连续出现一次或多次 <br><br>= 比如/es+/ <br>与“tesseessssseast12354haeasashaha”字符串相匹配,首先要与第一个字母e匹配,然后匹配s,s必须出现一次或多次,请看实例截图。 <br><br>“*”元字符规定其前导字符必须出现零次或连续多次 <br><br>= 比如/es*/ <br>与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者连续出现,看实例。 <br><br>“?”元字符规定其前导对象必须连续出现零次或一次 <br><br>= 比如/es?/ <br>与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者最多出现一次(就是最后一个字母s不重复出现)。 <br> <br>示例代码: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>$str = "tesseessssseast12354haeasashaha"; <br>echo "=====".$str." <br>"; <br>echo "/es+/:".preg_replace("/es+/","-\\0-",$str)." <br>"; <br>echo "/es*/:".preg_replace("/es*/","-\\0-",$str)." <br>"; <br>echo "/es?/:".preg_replace("/es?/","-\\0-",$str)." <br>"; <br>?> <br> <br><p></p></li><li><p dir="ltr"><strong>执行结果截图:</strong></p></li><li><p dir="ltr"><img alt="" src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20110515024827832.jpg"></p></li><li><p dir="ltr">另外如果觉得元字符“+*?”比较难理解可以用这种<font color="#ff0066"><strong>{ }</strong></font>方法代替:</p></li><li><p dir="ltr">比如es*我们可以写成es{0,},而es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不用写(也不用空格)。</p></li><li><p dir="ltr">当然我们要指定出现多少次的可以写成这样:<strong><font size="+0">es{3}</font></strong>表示s出现3次<br><stong><br><strong>举一反三:</strong></stong></p></li><li><p>比如要<strong>替换连续多个空格为一个空格</strong>,我可以这样写:<font size="+0"><strong>preg_replace("/<font color="#ff0066">\s</font><font color="#0000cc">+</font>/"," ",$str);<br></strong></font><font size="+0">比如要<strong>找出字符串中的数字(整数)</strong>:<font size="+0"><strong>preg_replace("/<font color="#ff0066">\d</font><font color="#0000cc">+</font>/", "(</strong></font><font size="+0"><strong><font color="#00cc66">\\0</font>)", $str</strong></font></font><font size="+0"><strong>); </strong><font size="+0"><font color="#00cc66"><strong>\\0</strong></font></font></font><font size="+0">是表示符合规则的字符串值</font></p></li><li><p dir="ltr">比如要<strong>找出字符串中的带小数点的数字</strong>:<strong><font size="+0">preg_replace("/<font color="#ff0066">\d<font color="#0000cc">+</font>\.\d</font><font color="#0000cc">+</font>/", "(</font></strong><strong><font size="+0"><font color="#00cc66">\\0</font>)", $str</font></strong><font size="+0"><strong>); //这里的<font style="BACKGROUND-COLOR: rgb(153,255,255)">“\.”</font>表示</strong></font></p></li></ol></pre><font size="+0"><strong>输出小数点</strong></font><p></p>
- <p dir="ltr">找出由字母组成的字符串:<strong><font size="+0">preg_replace("/<font color="#ff0066">[a-zA-Z]</font><font color="#0000cc">+</font>/", "(</font></strong><strong><font size="+0"><font color="#00cc66">\\0</font>)", $str</font></strong><strong><font size="+0">)</font></strong></p>
- <p dir="ltr">找出由(字母、数字混合)组成的字符串:<strong><font size="+0">preg_replace("/<font color="#ff0066">(<font color="#0000cc">[a-zA-Z]</font>|<font color="#00cc66">\d</font>)</font><font color="#0000cc">+</font>/", "(</font></strong><strong><font size="+0"><font color="#00cc66">\\0</font>)", $str</font></strong><strong><font size="+0">)</font></strong></p>
- <p dir="ltr"><strong></strong> </p>
- <p dir="ltr"><strong>正则表达式中“或”运算,使用 “<font style="BACKGROUND-COLOR: rgb(0,255,255)"> | </font>”</strong></p>
- <p dir="ltr">例如上面的例子:找出由(字母或数字)混合组成的字符串<font size="+0"><strong><font color="#ff0066">(</font><font color="#0000cc">[a-zA-Z]</font><font color="#ff0066">|</font><font color="#00cc66">\d</font></strong><font color="#ff0066"><strong>) </strong></font><font color="#000000">也可以这样写<strong><font size="+0"><font color="#ff0066">(</font><font color="#0000cc">[a-zA-Z]</font><font color="#ff0066">|</font><font color="#0000cc">[0-9]</font><font color="#ff0066">) </font></font></strong></font></font></p>
- <p dir="ltr">“<strong><font color="#ff0066">^</font></strong>”出现在 “[ ]”内时就被视做否定运算符;<font color="#0000cc"><strong>[^0-9]</strong><font color="#000000">表示除了数字之外的任何字符。</font></font></p>
- <p dir="ltr">而当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。</p>
- <p dir="ltr">定位符的意思就是比如:“<font color="#ff0066"><strong>^The</strong></font>”:开头一定要有”The”字符串;类似的:“<font color="#ff0066"><strong>en<font color="#0000cc">$</font></strong></font>”:$符号表示必须是en结尾。<br><br>其实认真看一遍就会发现正则表达式还是挺简单的,除非是我写的教程真的有问题。</p>