Javascript Regular Expression (RegExp) Multiline Flag Not Universal
I was debugging some code and I just came accross a very interesting fact: the "m" flag for multiline searches in Regular Expression (RegExp) is not universal. It only works on newer browsers and not all of them for that matter. On this Javascript Site, it states that all searches work for multiline without the flag and that the "m" flag will indeed throw errors in older browsers (as I am finding in my debugging... stupid Mac IE).
So, to drive it home, this is not good:
new RegExp("[\\n\\r]+", "gim")
And should be replaced with:
new RegExp("[\\n\\r]+", "gi")
Both of these are searching for new line characters and returns across multiple lines; however, only the latter works in all browsers and is more "correct" for Javascript.
Want to use code from this post? Check out the license.
Reader Comments