javascript - Can Someone Explain this regex snippet? -


i found replace code looks regular expressions in them can't decipher

new date().toisostring().   replace(/[z|t|\.]/gim," ").   replace(/\d{3}\s$/gim, " ").   replace(/:\d{2}\s+$/, " ").   trim() + "\n") 

sorry if that's vague. i'm not sure looking at

the code

new date().toisostring() 

generates looks this

2015-07-01t17:21:22.123z 

the regex put format

2015-07-01 17:21 

all of regex has flags g, m, , i. straight regex101 means:

g modifier: global. matches (don't return on first match)

i modifier: insensitive. case insensitive match (ignores case of [a-za-z])

m modifier: multi-line. causes ^ , $ match begin/end of each line (not begin/end of string)

the first regex

[z|t|\.] 

actually has mistake. whoever wrote assumed | means or not case inside square brackets. better written as

[zt\.] 

this match 2015-07-01t17:21:22.123z , replace

replace(/[z|t|\.]/gim," ") 

will replace every character matches regex space. giving new string

2015-07-01 17:21:22 123 

the next regex \d{3}\s$ matches , replaces 2015-07-01 17:21:22 123, giving you:

2015-07-01 17:21:22 

finally regex :\d{2}\s+$ matches , replaces 2015-07-01 17:21:22, giving you

2015-07-01 17:21 

and spaces trimmed off.

all in not great of way want. either better substrings or momentjs else said.


Comments

Popular posts from this blog

OpenCV OpenCL: Convert Mat to Bitmap in JNI Layer for Android -

android - org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope -

python - How to remove the Xframe Options header in django? -