正则中的^和$的理解

开头与结尾

特殊代码^以及$有点类似,都是占位符,都匹配一个位置,不匹配任何字符。^匹配你要用来查找的字符串的开头,$匹配你要用来查找的字符串结尾。
全字匹配的时候,有时我们要限制匹配结果所在的位置,比如,当你要在一堆手机号中查找 130 号段的号码,此时如果使用全字匹配,你可能会匹配到 18712341301 这样的结果,因为其中包含了 130 这个子串,但是我们需要的是 130 开头的号码,所以全字匹配不能满足需求了。此时,只要在全字匹配的正则中添加一个特殊符号 ^,这个特殊符号仅仅作为一个位置标记符,表示整个要匹配的目标字符串的开头,要注意这一点,它是一个表示开始位置的占位符。

  • 示例:
    /^130/ 仅匹配处于字符串开头位置的 130,比如 13012345678,而类似于 11302345678 这种虽然包含 130,但是不是在最开头包含的,则会匹配失败。

与 ^ 匹配开始位置对应的是 $,表示要匹配的目标字符串的结尾,它也仅仅是一个表示位置的占位符。

  • 示例:
    /ed$/仅匹配处于字符串结尾的 ed,比如 opened、closed,而类似于 edge、bedroom 这些虽然包含 ed,但是不在结尾的,则会匹配失败。
    /^Hello World$/ 仅匹配既处于开头又处于结尾的 Hello World,因此只有一种情况是满足的:也就是整个匹配的目标字符串就只有 Hello World。

你可能感兴趣的:(技术)