^ 匹配行/字符串的起始位置;
如果在增强模式下,^ 还能匹配每个换行符之后的位置。
注意:如果多行文本,比如:
first line
second line
实际内容为:
first line[CR][LF]second line
[CR] 回车符
[LF] 换行符
因此,在增强模式下,^ 可以匹配每行文本的开头位置,至于这段的解释,原因在于符合我们的眼睛习惯。
但请注意:$ 可让我们头疼一翻。
$ 匹配字符串/一行的结束位置,但是在增强模式下,$可以匹配字符串内部的换行符。
实例:
文本/字符串:abc
正则表达式:^abc$
匹配结果:abc
字符串:
123
456
正则表达式:(?m)^\d{3}$
匹配结果:456
说明:(?m)表示启用增强模式。
为什么第一行的123不能匹配?
就是因为$无法匹配回车符
123[CR][LF]456
在想一想,为什么不能匹配123,为什么能够匹配456。