2012-02-11 4 views
0

Я не очень хорошо разбираюсь в регулярном выражении и не могу найти простой способ для решения этой проблемы.Получить часть строки

я есть такое выражение, как:

TR_NN_Expression

где NN является число 2 цифр, и выражение может содержать «_», поэтому я не могу использовать раскол для этого. Я хотел бы получить выражение. Любая помощь будет более высоко оценена.

+0

Woah, я полностью пропустил, что Apple отправила класс regex со Львом. – zneak

+0

Является ли выражение всегда последним элементом? –

+0

Да Выражение - последний элемент –

ответ

3

Вы можете использовать это регулярное выражение:

TR_[0-9]{2}_(.*) 

Часть вы хотите будет в группе захвата. Пример использования:

> s = 'TR_01_My#@34_Expresion' 
"TR_01_My#@34_Expresion" 
> s.match(/TR_[0-9]{2}_(.*)/)[1] 
"My#@34_Expresion" 
+0

как вы получаете (. *)? javascript let say у меня есть выражение в var my txt = 'TR_01_My # @ 34_Expresion' ;. –

+0

@FrenchiInLa: См. Обновление. –

+0

Спасибо, что я искал –

0

Если префикс фиксированной длины, и вы знаете, что строки имеют правильный формат, вы можете просто использовать substring для достижения этой цели.

"TR_42_some_expression_here".substring(6) // yields "some_expression_here" 

Если у вас более сложная ситуация, регулярные выражения могут быть подходящими. Точное выражение зависит от того, что вы хотите захватить.

+0

TR может быть длиннее, поэтому я не мог использовать подстроку –

+0

@FrenchiInLa: Что значит «TR может быть длиннее»? Можете ли вы более конкретно узнать, что такое начало строки? –

+0

TR может быть AAAA, всегда является буквой, как правило, 2, но может быть больше, чем буквами e. –

Смежные вопросы