2014-09-30 96 views
0

到目前爲止,我有以下幾點:如何在特殊字符後得到最後一個單詞?

\- (.*) 

,然後從以下文字:

September 2014 - Media 

我需要讓 「媒體」,壽我得到 「 - 媒體」

+3

也更好用 「的JavaScript」 標籤,如果找JS正則表達式,因爲在特定的正則表達式風格之間有很大的區別。 – 2014-09-30 09:33:17

+0

的確,我只是新的,我不知道 – Monica 2014-09-30 09:58:10

回答

2

你正則表達式是正確的只是打印組索引1而不是組0,並且您不需要轉義-符號。

DEMO

在右側在上述演示鏈接看到所拍攝串Media

OR

使用下面的正則表達式只Media匹配,

- \K.* 

DEMO

如果你的語言不支持\K你可以使用一個回顧後,

(?<=-).* 

DEMO

> "September 2014 - Media".match(/[^- ]+$/g) 
[ 'Media' ] 
> var r = "September 2014 - Media"; 
undefined 
> console.log(/- (.*)/.exec(r)[1]) 
Media 
+0

爲什麼在這裏不起作用? http://www.regexr.com/ – Monica 2014-09-30 09:29:01

+0

@Monica您正在使用哪種語言? http://www.regexr.com/只爲支持javascript而設計。 '\ K',js中不支持lookbehinds。 – 2014-09-30 09:30:12

+0

Javascript。我認爲這種語言不支持它 – Monica 2014-09-30 09:31:19

2

如果你的語言允許回顧後,嘗試:

(?<=-)(.*) 

如果它不能簡單地用:

([^-]*)$ 
+0

我正在使用Javascript – Monica 2014-09-30 09:30:53

+0

然後你可以使用替代解決方案。並且在問題中添加'javascript'標籤。 – blackSmith 2014-09-30 09:38:45

相關問題