美文网首页
正则表达式的修饰符

正则表达式的修饰符

作者: 肉饼屋 | 来源:发表于2018-03-20 09:55 被阅读19次

    今天在看php的书籍时,生成这样一句正则表达式

    @^/(?P<page>([a-zA-Z_-]+?))/(?P<action>([a-zA-Z_-]+?))/(?P<id>([^/]+?))$@u\
    

    我一开始看不懂,后来查了资料才明白,这里面有几个重要的部分。

    1. 分割符
    2. 表达式
    3. 子模式
    4. 修饰符

    1.分隔符

    在这句表达式,有两个@符号,这两个就是分隔符,分割符中间为表达式,用于匹配字符串

    2.表达式

    用于匹配字符串

    3.子模式

    在php中使用?P<name>可以在使用这个preg_match()方法进行匹配时获取对应的键值对。

    例如:

     /user-account/view/123
    

    这样的字符串将获取一个这样的数组

    ["page"]=> string(12) "user-account" ["action"]=> string(4) "view" ["id"]=> string(3) "123"

    4.修饰符

    在整个表达式的后面有一个u,是不是很奇怪,这个是修饰符,表示要开启某个模式。这个u表示是的utf8.

    写于2013-09-24

    相关文章

      网友评论

          本文标题:正则表达式的修饰符

          本文链接:https://www.haomeiwen.com/subject/khovfftx.html