轻松推到正则表达式(三)-^$()

常见的一些奇怪的符号
^ 表示行开始
$ 表示结束
\s 表示空格
举个梨汁 从@aleen a,哈哈哈@lucifer 哈@lucifer a 中取出 @xxx a @ 开头 中间若干字母 一个或多个空格 a 结尾

首先正常匹配出 @aleen a

php
    $str = "@aleen a,哈哈哈@lucifer  哈@lucifer a";
    $mach = "/@\w+\sa/";
    preg_match_all($mach,$str,$res);
    var_export($res);
  输出结果  array ( 0 => array ( 0 => '@aleen a', 1 => '@lucifer a', ), )
js
    var str = "@aleen a,哈哈哈@lucifer  哈@lucifer a";
    var pattern = /@\w+\sa/g;
    var res = str.match(pattern);
    console.log(res);
  输出结果  ["@aleen a", "@lucifer a"]

再说一下()

php
  $str = "@aleen a,哈哈哈@lucifer  哈@lucifer a";
  $mach = "/@(\w+\sa)/";
  preg_match_all($mach,$str,$res);
  var_export($res);
输出结果
   array ( 0 => array ( 0 => '@aleen a', 1 => '@lucifer a', ), 1 => array ( 0 => 'aleen a', 1 => 'lucifer a', ), )
js
    var str = "@aleen a,哈哈哈@lucifer  哈@lucifer a";
    var pattern = /@(\w+\sa)/g;
    var res = pattern.exec(str);
    console.log(res);
    var res = pattern.exec(str);
    console.log(res);
输出结果
  ["@aleen a", "aleen a", index: 0, input: "@aleen a,哈哈哈@lucifer  哈@lucifer a"]
  ["@lucifer a", "lucifer a", index: 23, input: "@aleen a,哈哈哈@lucifer  哈@lucifer a"]

然后我们发现他会额外返回()中的内容,所以我们猜一下

() 就是返回匹配到的内容及()中的内容

你可能感兴趣的:(轻松推到正则表达式(三)-^$())