用正则表达式向后搜索

时间:2009-10-09 15:29:13

标签: regex groovy

我有以下不同的文字

line1: SELECT column1,
line2: column2,
line3: RTRIM(LTRIM(blah1)) || ' ' || RTRIM(LTRIM(blah3)),
line4: RTRIM(LTRIM(blah3)) || ' ' || RTRIM(LTRIM(some1)) outColumn,
line5: RTRIM(LTRIM(blah3)) || ' ' || RTRIM(LTRIM(some1)) something,
line6: somelast

以下是我想从每一行中获取的内容 基本上想从字符串的结尾开始正则表达式搜索并继续保持空间。我可以稍后拿出逗号。

line1: column1
line2: column2
line3: <space> nothing found
line4: outColumn
line5: something
line6: somelast

基本上我会没事的,如果我可以从最后开始正则表达式并走向第一个空间。

对于line3可能必须有一个特殊情况,因为我不期待任何回复。

我正在使用groovy这个正则表达式。

2 个答案:

答案 0 :(得分:2)

迭代这些行并将每一行与正则表达式匹配:

(?i).*(column\w+).*

您正在寻找的单词在第1组($ 1)中被捕获。

答案 1 :(得分:1)

我想你想要:

(\w*)\s*,?$

匹配组1包含该行末尾的第一个单词。

将表达式锚定到行的末尾基本上 从最后开始正则表达式。