0

我有一个字符串:

stuff.more AS field1, stuff.more AS field2, blah.blah AS field3

有没有一种方法可以使用正则表达式来提取空格右侧的任何内容,包括逗号离开:

field1, field2, field3

我无法获得适合我的正则表达式语法。

4

3 回答 3

5
(\w+)(?:,|$)

正则表达式可视化

在 Debuggex 上实时编辑

  • \w[^ ]是一个字母数字字符(如果您想要除空格以外的任何字符,可以将其替换为)
  • +表示一个或多个字符
  • ?:使捕获组不是捕获组
  • ,|$表示字符串的结尾是 a,或行尾

注意: ()表示捕获组

请在此处阅读有关正则表达式的更多信息并使用debugexx.com进行实验。

于 2013-09-12T22:21:55.503 回答
2

有没有办法可以使用正则表达式来提取空格右侧的任何内容,包括逗号...

您可以使用非捕获组来执行此操作,也可以,使用前瞻。

([^\s]+)(?=,|$)

正则表达式:

(                 group and capture to \1:
 [^\s]+           any character except: whitespace (\n,
                  \r, \t, \f, and " ") (1 or more times)
)                 end of \1
(?=               look ahead to see if there is:
  ,               a comma ','
  |               OR
  $               before an optional \n, and the end of the string
)                 end of look-ahead
于 2013-09-12T22:24:12.960 回答
0
 /[^ ]+(,|$)/ 

应该这样做。(,|$)允许您在该行中的最后一个条目不带逗号。

于 2013-09-12T22:20:26.200 回答