如何在特殊字符后得到最后一个字?

时间:2014-09-30 09:17:45

标签: javascript regex

到目前为止,我有以下内容:

 \- (.*)

从以下文字:

September 2014 - Media

我需要得到"媒体",我得到" - 媒体"

2 个答案:

答案 0 :(得分:2)

您的正则表达式是正确的,只需打印组索引1而不是组0,您不需要转义-符号。

DEMO

请参阅上面演示链接右侧的捕获字符串Media

使用以下正则表达式仅匹配Media

- \K.*

DEMO

如果您的语言不支持\K

,您可以使用lookbehind
(?<=- ).*

DEMO

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

答案 1 :(得分:2)

如果您的语言允许外观,请尝试:

  (?<=-)(.*) 

如果不是简单地使用:

  ([^-]*)$