我使用的是java 7,我的数据流包含以下行:
SENDER='CALTRANS'
SENDER='BIGO'
SENDER='FIO'
..
..
我想只提取单引号中的数据。即
CALTRANS
BIGO
FIO
... ..
有关正则表达式的任何建议吗?
答案 0 :(得分:5)
您可能会使用正则表达式:
^SENDER='([^']+)'$
使用多行标志。此正则表达式匹配行的开头,后跟文本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));
}