2020年4月6日

    1. <?php
    2. <?php
    3. $str="555ninikiki555";
    4. $start= strpos($str,'555');
    5. $start +=3;
    6. $end=strrpos($str,'555');
    7. $end -=$start;
    8. $res =substr($str,$start,$end);
    9. var_dump($res);
    10. echo"<hr>";
    11. //正则表达式函数
    12. $preg ="/^555(.*?)555$/";
    13. if(preg_match($preg,$str,$arr)){
    14. echo "匹配成功";
    15. var_dump($arr);
    16. }else{
    17. echo "匹配失败";
    18. }
    19. echo"<hr>";
    20. $preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
    21. $str2 ="
    22. 123456722@qq.com
    23. ";
    24. if(preg_match($preg,$str2,$arr)){
    25. echo"匹配成功";
    26. echo"<pre>";
    27. var_dump($arr);
    28. echo"</pre>";
    29. }else{
    30. echo"匹配失败";
    31. }
    32. php2
    33. <?php
    34. $str="555ninikiki555";
    35. $start= strpos($str,'555');
    36. $start +=3;
    37. $end=strrpos($str,'555');
    38. $end -=$start;
    39. $res =substr($str,$start,$end);
    40. var_dump($res);
    41. echo"<hr>";
    42. //正则表达式函数
    43. $preg ="/^555(.*?)555$/";
    44. if(preg_match($preg,$str,$arr)){
    45. echo "匹配成功";
    46. var_dump($arr);
    47. }else{
    48. echo "匹配失败";
    49. }
    50. echo"<hr>";
    51. $preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
    52. $str2 ="
    53. 123456722@qq.com
    54. ";
    55. if(preg_match($preg,$str2,$arr)){
    56. echo"匹配成功";
    57. echo"<pre>";
    58. var_dump($arr);
    59. echo"</pre>";
    60. }else{
    61. echo"匹配失败";
    62. }
    63. php3
    64. <?php
    65. $str="555ninikiki555";
    66. $start= strpos($str,'555');
    67. $start +=3;
    68. $end=strrpos($str,'555');
    69. $end -=$start;
    70. $res =substr($str,$start,$end);
    71. var_dump($res);
    72. echo"<hr>";
    73. //正则表达式函数
    74. $preg ="/^555(.*?)555$/";
    75. if(preg_match($preg,$str,$arr)){
    76. echo "匹配成功";
    77. var_dump($arr);
    78. }else{
    79. echo "匹配失败";
    80. }
    81. echo"<hr>";
    82. $preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
    83. $str2 ="
    84. 123456722@qq.com
    85. ";
    86. if(preg_match($preg,$str2,$arr)){
    87. echo"匹配成功";
    88. echo"<pre>";
    89. var_dump($arr);
    90. echo"</pre>";
    91. }else{
    92. echo"匹配失败";
    93. }

    笔记:
    正则表达式函数
    preg_match();
    preg_match();
    preg_preg();
    preg_split();
    preg_replace();

    分割 匹配 查找 替换
    字符串处理函数(速度快,但有一些功能做不到)
    正则表达式函数(功能强大,但效率要低于字符串)

    注意:
    如果使用字符串处理函数可以直接解决,就不要使用正则表达式;

    匹配查找
    字符串处理函数
    strpos substr
    正则表达式函数
    preg_match() 匹配一个结果
    preg_match_all() 匹配所有结果

    邮箱正则
    邮箱名规则6-18字符,可使用字母 数字 下划线
    邮箱后缀:用域名组成;只要知道域名的规则
    域名规则:
    域名可以由(a-zA-Z大小写等价)26个英文字母,数字(0-9)以及连接符“-”组成,
    但是域名的首位必须是字母或数字,国际通用顶级域名长度不得超过26个字符

    作业 - 图1