Beginning of line or beginning of string?
Start and end of string
/^CTR.*$/
/
= delimiter
^
= start of string
CTR
= literal CTR
$
= end of string
.*
= zero or more of any character except newline
Start and end of line
/^CTR.*$/m
/
= delimiter
^
= start of line
CTR
= literal CTR
$
= end of line
.*
= zero or more of any character except newline
m
= enables multi-line mode, this sets regex to treat every line as a string, so ^
and $
will match start and end of line
While in multi-line mode you can still match the start and end of the string with A
permanent anchors
/ACTR.*/m
A
= means start of string
CTR
= literal CTR
.*
= zero or more of any character except newline
= end of string
m
= enables multi-line mode
As such, another way to match the start of the line would be like this:
/(A|
|
|
)CTR.*/
or
/(^|
|
|
)CTR.*/
= carriage return / old Mac OS newline
= line-feed / Unix/Mac OS X newline
= windows newline
Note, if you are going to use the backslash
in some program string that supports escaping, like the php double quotation marks ""
then you need to escape them first
so to run
CTR.*
you would use it as "\r\nCTR.*"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…