在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
正则表达式的写法规则:"/规则需要写在2个斜杠中间/"。
元字符包括: +, *,? 元字符理解起来容易混淆,所以我在后面做了代码结果截图 复制代码 代码如下: “+”元字符规定其前导字符必须连续出现一次或多次 = 比如/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+\.\d+/", "(\\0)", $str); //这里的“\.”表示输出小数点 找出由字母组成的字符串:preg_replace("/[a-zA-Z]+/", "(\\0)", $str) 找出由(字母、数字混合)组成的字符串:preg_replace("/([a-zA-Z]|\d)+/", "(\\0)", $str)
正则表达式中“或”运算,使用 “ | ” 例如上面的例子:找出由(字母或数字)混合组成的字符串([a-zA-Z]|\d) 也可以这样写([a-zA-Z]|[0-9]) “^”出现在 “[ ]”内时就被视做否定运算符;[^0-9]表示除了数字之外的任何字符。 而当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。 定位符的意思就是比如:“^The”:开头一定要有”The”字符串;类似的:“en$”:$符号表示必须是en结尾。 |
请发表评论