Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用正则表达式向后搜索_Regex_Groovy - Fatal编程技术网

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”开头。但我看到这个例子有点误导。。。