提取单引号中的字符串数据

gpa*_*gpa 0 java regex

我使用的是java 7,我的数据流包含以下行:

SENDER='CALTRANS'
SENDER='BIGO'
SENDER='FIO'
..
..
Run Code Online (Sandbox Code Playgroud)

我想只提取单引号中的数据.即

CALTRANS
BIGO
FIO
Run Code Online (Sandbox Code Playgroud)

...... ..

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

nic*_*ckb 5

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

^SENDER='([^']+)'$
Run Code Online (Sandbox Code Playgroud)

带有多线标志.此正则表达式匹配行的开头,后跟文本SENDER=',后跟任何非单引号,后跟单引号,后跟行尾.

String regex = "(?m)^SENDER='([^']+)'$";
Run Code Online (Sandbox Code Playgroud)

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

Pattern p = Pattern.compile( regex);
Matcher m = p.matcher(inputText); // inputText = "SENDER='CALTRANS'... etc"
while(m.find()) {
    System.out.println(m.group(1));
}
Run Code Online (Sandbox Code Playgroud)