ruby - gsub same pattern from a string -
i have big problems figuring out how regex works. want text:
this example\e[213] text\e[123] demonstration
to become this:
this example text demonstration.
so means want remove strings begin \e[
, end ]
cant find proper regex this. current regex looks this:
/.*?(\\e\[.*\])?.*/ig
but dont work. appreciate every help.
you need this:
txt.gsub(/\\e\[[^\]]*\]/i, "")
there no need match before or after .*
the second problem use .*
describe content between brackets. since *
quantifier default greedy, match until last closing bracket in same line.
to prevent behaviour way use negated character class in place of dot excludes closing square brackets [^\]]
. in way keep advantage of using greedy quantifier.
Comments
Post a Comment