我有以下不同的文字
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这个正则表达式。
答案 0 :(得分:2)
迭代这些行并将每一行与正则表达式匹配:
(?i).*(column\w+).*
您正在寻找的单词在第1组($ 1)中被捕获。
答案 1 :(得分:1)
我想你想要:
(\w*)\s*,?$
匹配组1包含该行末尾的第一个单词。
将表达式锚定到行的末尾基本上 从最后开始正则表达式。