我正在使用 java 7,并且我有包含以下行的数据流:
SENDER='CALTRANS'
SENDER='BIGO'
SENDER='FIO'
..
..
我想只提取单引号中的数据。IE
CALTRANS
BIGO
FIO
... ..
关于正则表达式的任何建议?
您可能会使用正则表达式:
^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));
}