Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
Java 提取单引号中的字符串数据_Java_Regex - Fatal编程技术网

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

Java 提取单引号中的字符串数据,java,regex,Java,Regex,我正在使用java 7,我的数据流包含以下行: SENDER='CALTRANS' SENDER='BIGO' SENDER='FIO' .. .. 我只想提取单引号中的数据。i、 e CALTRANS BIGO FIO 。。。 关于正则表达式有什么建议吗?您可能会使用正则表达式: ^SENDER='([^']+)'$ 使用多行标志。此正则表达式匹配行的开头,后跟文本SENDER=',后跟任何非单引号的内容,后跟单引号,然后是行的结尾 String regex = "(?m)^SENDE

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

SENDER='CALTRANS'
SENDER='BIGO'
SENDER='FIO'
..
..
我只想提取单引号中的数据。i、 e

CALTRANS
BIGO
FIO
。。。


关于正则表达式有什么建议吗?

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

^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));
}

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

^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));
}
如果等号左侧的值可以不是
发送方
,则类似于
^[^=]+='([^']+')$
的内容也可能有用。这将匹配任何没有等号的东西,后面是等号,后面是撇号中不包含撇号的东西。呸。这让我想起了一句话,你认为你有问题,然后说“我将用regexp解决它”,现在你有两个问题。(尽管必须承认,对于这种情况,它们非常有用。)如果等号左侧的值可以不是
发送方
,则类似于
^[^=]+='([^']+)'$
的内容也可能有用。这将匹配任何没有等号的东西,后面是等号,后面是撇号中不包含撇号的东西。呸。这让我想起了一句话,你认为你有问题,然后说“我将用regexp解决它”,现在你有两个问题。(尽管不可否认,对于这种情况,它们非常有用。)