Regexp: обрезать части строки и вернуть то, что осталось

Я пытаюсь использовать регулярное выражение, чтобы получить все, что стоит за # в моей строке «12344dfdfsss#isa», в этом случае я хочу получить «isa» из строки.

Я нашел эти ответы (Как удалить небольшую часть строки в большой строке с помощью RegExp) полезно, но все, что он возвращает, это "true".

var myString = '12344dfdfsss#isa',
    newRG = new RegExp('#(.*)$'),           
    trimmed = newTrim.test(myString);

Я хочу, чтобы он перенастраивался на 'isa', а не на правду.

Спасибо за любую помощь // я


person patad    schedule 03.01.2010    source источник


Ответы (3)


Попробуй это:

var trimmed = /#(.*)$/.exec('12344dfdfsss#isa')[1];
person SLaks    schedule 03.01.2010

Вы также можете использовать match для сопоставления строки с регулярным выражением, а затем извлечь первое подвыражение, совпавшее с использованием [1]:

var trimmed = '12344dfdfsss#isa'.match(/#(.*)$/)[1]
person Brian Campbell    schedule 03.01.2010

если возможно, что строка темы может иметь более одного #, рассмотрите:

/#(.*)$/

захватывает все, что следует за первым # в строке темы, а

/#(.*?)$/

захватывает то, что следует за последним.

person Community    schedule 03.01.2010