Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
376 views
in Technique[技术] by (71.8m points)

regex - Regular expression to match characters at beginning of line only


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.*"


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...