2012-02-11 96 views
0

我不擅長正則表達式,無法找到解決此問題的簡單方法。獲取部分字符串

我有這樣的表達式:

TR_NN_Expression

其中nn爲一個數的2位數字,並表達可以包含「_」,所以我不能用於該用途的分裂。我想獲得表達式。任何幫助將更大的讚賞。

+0

哇,我完全錯過了蘋果公司向Lion發佈了一個正則表達式類。 – zneak 2012-02-11 00:30:34

+0

表達式總是會成爲最後一個元素嗎? – 2012-02-11 00:30:58

+0

是表達式是最後一個元素 – 2012-02-11 00:32:00

回答

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讓我說我有我的表達在 var my txt ='TR_01_My#@ 34_Expresion';. – 2012-02-11 00:43:52

+0

@FrenchiInLa:查看更新。 – 2012-02-11 00:50:04

+0

謝謝你這就是我要找的 – 2012-02-11 01:00:00

0

如果前綴長度是固定的,你知道的字符串是你可以使用substring來完成這個正確的格式。

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

如果您有更復雜的情況,正則表達式可能是適當的。確切的表達取決於你想要捕捉什麼。

+0

TR可以更長,所以我不能使用子字符串 – 2012-02-11 00:40:25

+0

@FrenchiInLa:你是什麼意思「TR可以更長」?你能更具體地說明字符串的開頭是什麼嗎? – 2012-02-11 00:44:24

+0

TR可以是AAAA,通常是2個字母,但可以比e個字母多 – 2012-02-11 00:49:29