正则,/^\s+|\s+$/ 和 /^(\s+)|\1$/ 为什么匹配结果不相同。

/^\s+|\s+$/能够匹配到字符串前后空格
/^(\s+)|\1$/只能够匹配到字符串前面到空格
换成其他到也一样
^[A-Z]|\[A-Z]$ 匹配字符串前后第一位大写
^([A-Z])|\1$ 只能匹配到字符串前面的第一位大写

不知道是哪里理解有问题,符号优先级问题?还是其他的,如果有人能回答,万分感谢。

阅读 3.5k
2 个回答

果然是理解错误,一时走了邪路,后向引用原来引用的不是规则,而是之前分组中规则里匹配到的内容。

引用的是分组匹配到的内容,而不是分组的规则

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进