Reputation: 23
I have a regex that replaces the link from the moment http to the occurrence of certain characters in []
, I would like to add
to these characters - that is to replace the string with the occurrence of certain characters or a hard space:
"https://test.pl'".replace(/https?:\/\/[^ "'><]+/g," ")
Works fine for the characters mentioned in []
, I don't know how to add here  
;
Upvotes: 2
Views: 1032
Reputation: 627468
You can use
.replace(/https?:\/\/.*?(?: |[ '"><]|$)/g," ")
See the regex demo.
Details:
https?:\/\/
- http://
or https://
.*?
- any zero or more chars other than line break chars as few as possible(?: |[ '"><]|$)
- one of the following:
-
char sequence|
- or[ "'><]
- a space, "
, '
, >
or <
char|
- or$
- end of string.JavaScript demo:
const texts = ["https://test.pl test","https://test.pl'test"];
const re = /https?:\/\/.*?(?: |[ '"><]|$)/g;
for (const s of texts) {
console.log(s, '=>', s.replace(re, " "));
}
Upvotes: 1