问题
Im trying to use regexp to get whatever's behind the # in my string "12344dfdfsss#isa", in this case I wanna get the 'isa' out of the string.
I found these answers (How to remove a small part of the string in the big string using RegExp) helpful, but all it returns is 'true'.
var myString = '12344dfdfsss#isa',
newRG = new RegExp('#(.*)$'),
trimmed = newTrim.test(myString);
I want it to retun 'isa' and not true.
Thanks for any help // I
回答1:
Try this:
var trimmed = /#(.*)$/.exec('12344dfdfsss#isa')[1];
回答2:
You can use also use match
to match a string against a regex, and then extract the first subexpression that matched using [1]
:
var trimmed = '12344dfdfsss#isa'.match(/#(.*)$/)[1]
回答3:
if it's possible that the subject string could have more than one #
then consider:
/#(.*)$/
captures everything that follows the first #
in the subject string., while
/#(.*?)$/
captures what follows the last.
来源:https://stackoverflow.com/questions/1996078/regexp-trim-parts-of-a-string-and-return-what-ever-is-left