正则表达式按前缀匹配组

时间:2015-08-20 07:32:02

标签: regex

我有以下字符串: CL_6x CL_5c CL_234 CL_ERB14 1D CL_6y

我需要找一个正则表达式来提取像这样的组

  • CL_6x
  • CL_5c
  • CL_234
  • CL_ERB14 1D
  • CL_6y

正如您所看到的,他们都以 CL _

为前缀

任何想法如何实现这一目标?

3 个答案:

答案 0 :(得分:4)

您需要使用基于正则表达式的正向前瞻。

\bCL_.*?(?=\s*CL_|$)

这应匹配到下一行CL_或行尾。

DEMO

答案 1 :(得分:2)

CL_.+?\b

试试这个。查看演示。\bword boundary

https://regex101.com/r/uF4oY4/86

编辑:

用于CL_ERB14 1D等测试用例。

使用

CL_\S+(?:\s*(?!CL_)\S+)

参见演示。

https://regex101.com/r/uF4oY4/87

答案 2 :(得分:1)

您可以使用以下正则表达式。

^CL_.+\b

<强>解释

  1. ^:以
  2. 开头
  3. CL_:匹配文字CL_
  4. .+:多次匹配任何字符
  5. \b:字边界
  6. enter image description here