正则表达式的修饰符

今天在看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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容