0

我正在使用 java 7,并且我有包含以下行的数据流:

SENDER='CALTRANS'
SENDER='BIGO'
SENDER='FIO'
..
..

我想只提取单引号中的数据。IE

CALTRANS
BIGO
FIO

... ..

关于正则表达式的任何建议?

4

1 回答 1

5

您可能会使用正则表达式:

^SENDER='([^']+)'$

使用多行标志。此正则表达式匹配一行的开头,然后是 text SENDER=',然后是不是单引号的任何内容,然后是单引号,然后是行尾。

String regex = "(?m)^SENDER='([^']+)'$";

因此,您将打印捕获组 1 中的所有匹配项,如下所示:

Pattern p = Pattern.compile( regex);
Matcher m = p.matcher(inputText); // inputText = "SENDER='CALTRANS'... etc"
while(m.find()) {
    System.out.println(m.group(1));
}
于 2013-07-19T17:16:08.693 回答