正则表达式:行首?

Regex: beginning of line?

我想知道我这里的表达式是否只能在一行的开头匹配单词 cat 或 Cat,如果这也意味着 如果有换行,它也会匹配,它不只是在 text/string.

的整个块的开头

例如:

猫和

将突出显示两行开头的两个实例

/^\b([Cc]at)\b/g  

我的另一个单独的问题是,你如何匹配,比方说,'cat',除了行首以外的任何地方?你如何否定行的开头,但包括所有其他实例?

例如:

cat likes cat and himself. 

只会匹配第二次提到猫这个词。

您只需要多行标志和 ignoreCase 标志也可用于使您的正则表达式成为

/^cat\b/gmi

就您的可选问题而言,如果您的正则表达式支持回顾,那么它将是

/(?<=.)cat/

如果没有

/.(cat)/

并参加第 1 组。