REGEX有助于从字符串中捕获某些值

时间:2015-08-21 13:00:05

标签: regex

我希望有人可以协助我试图做的REGEX。我只是希望能够在“工作”或“工作 - ”之后立即捕获第一组字符。

实施例

Job PXDFUH34 RE443 JRA99
Job - W0WEIN12SD UIS90 TYPSOS48 

我想在此示例中仅捕获PXDFUH34和W0WEIN12SD。

更新

我能够用它来捕捉我需要的东西。

\s(\w+)\s

但是,我遇到了这个正则表达式不喜欢的特殊字符(#)。我如何解释#now?

实施例

Job R#DFUH34 RE143 JRU89
Job - W0WEIN12SD# UIS10 TTPSOS45

2 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

Job\b[\s-]*(\S+)

这意味着:

  • 查找Job限制 \b - 以避免Jobless
  • 等文字
  • [\s-]空格和连字符*尽可能多地找到,
  • 然后分组()
  • 第一个单词\S+

Regex live here.

希望它有所帮助。

答案 1 :(得分:1)

试试这个正则表达式

^Job\s\-?\s?\K[^\s]*\b

在@alanmoore评论的基础上,这是替代

^Job\s\-?\s?([^\s]*)\b

Working Regex