Regex 用正则表达式向后搜索
我有以下不同的文本Regex 用正则表达式向后搜索,regex,groovy,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:
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
line1:column1
第2行:第2栏
第三行:什么也没找到
第4行:输出列
第五行:什么
第六行:最后一个
基本上,我会很好,如果我可以从最后开始正则表达式,并走向第一个空间
3号线可能会有特殊情况,因为我不希望有任何回报
我将groovy用于这个正则表达式 迭代各行并将每行与正则表达式匹配:
(?i).*(column\w+).*
您要查找的单词在第1组($1)中捕获。迭代行,并将每行与正则表达式匹配:
(?i).*(column\w+).*
您要查找的单词在第1组($1)中捕获。我想您需要:
(\w*)\s*,?$
其中,匹配组1包含行尾的第一个单词
将表达式锚定到行尾基本上就是从行尾开始正则表达式。我想您需要:
(\w*)\s*,?$
其中,匹配组1包含行尾的第一个单词
将表达式锚定到行尾基本上就是从行尾开始正则表达式。为什么在匹配的“outColumn”中有逗号,而在“column1”和“column2”中没有逗号?你的结果不会告诉你任何事情,除非你正在寻找其中包含“column”的单词。@bart很抱歉,这是一个拼写错误。修正了为什么在匹配的“outColumn”中有逗号,而在“column1”和“column2”中没有逗号?你的结果不会告诉你任何事情,除非你正在寻找其中包含“column”的单词。@bart很抱歉,这是一个拼写错误。fixedhmm我想捕捉任何单词…而不仅仅是以“column”开头。但我看到这个例子有点误导…嗯,我想捕捉任何单词…而不仅仅是以“column”开头。但我看到这个例子有点误导。。。