正则expression式中的插入符号

具体来说,何时^意味着“匹配开始”,什么时候在正则expression式中意味着“不是以下”?

从维基百科的文章和其他参考文献中,我已经得出结论,这意味着前者在开头,后者在括号中使用,但是程序如何处理脱字符号在开头和括号内的情况? 什么,说,^ [bd] t $匹配?

^只在内部和[]的开始意思是“不是以下”,所以[^...]

当它在[]不是在开始时,它意味着实际的^字符。

当它被转义( \^ )时,它也意味着实际的^字符。

在所有其他情况下,这意味着string/行的开始(哪一个是语言/设置相关的)。

所以简而言之:

  • [^abc] – >不是a,b或c
  • [ab^cd] – > a,b,^(字符),c或d
  • \^ – >一个^字符
  • 任何地方 – >string/行的开始。

所以^[bd]t$意思是:

  • 行首
  • b / c / d字符
  • 字符
  • 行结束