Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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_Mysql_Sql_Regex_Oracle - Fatal编程技术网

Java 要替换的正则表达式<;

Java 要替换的正则表达式<;,java,mysql,sql,regex,oracle,Java,Mysql,Sql,Regex,Oracle,我有下面的数据,是使用regexp\u replace函数编写通用正则表达式以在oracle中获得所需输出的任何方法 <Tier><grade><><sdlc><17,10><> : result should be 17.10 <><sdlc><16,909312> : 16.909312 <><sdlc><11396,87> :11396.87

我有下面的数据,是使用regexp\u replace函数编写通用正则表达式以在oracle中获得所需输出的任何方法

<Tier><grade><><sdlc><17,10><>  : result should be 17.10
<><sdlc><16,909312> :   16.909312
<><sdlc><11396,87> :11396.87
<20121217>        :20121217
<UNIT><6086>  : 6086
<Tier1><><sdlc><0,47> :0.47
:结果应为17.10
:   16.909312
:11396.87
:20121217
: 6086
:0.47

您可以使用如下简单的正则表达式:

步骤:

  • 替换为
  • 使用正则表达式查找匹配项
代码:

String s=”“;
s=s。替换(',',');
模式p=Pattern.compile(“\\d+\\.\.\\d+”);
匹配器m=匹配器p;
if(m.find()){
System.out.println(m.group());//17.10
}

谢谢Reimeus,但我希望它使用正则表达式,这是我的限制。您的数据是XML吗?如果是这样的话,最好读一读这个-@Sheller他的问题很清楚<代码>转换为
17.10
@shelleter之所以会这样,是因为我们只是简单地看了一下,忽略了细节。发生在我们最好的人身上谢谢,它对其他字段的工作原理::16.909312:11396.87:20121217:6086:0.47对其他字段也应用相同的正则表达式。如何在oracle正则表达式_替换函数中使用它?嗯,我不太确定在oracle中如何做,因为我不熟悉oracle的正则表达式引擎,我建议您将问题更新为如何使用oracle正则表达式解析此字符串,您将获得更多帮助。
String s="<Tier><grade><><sdlc><17,10><>";
            s = s.replace(',', '.');
            Pattern p = Pattern.compile("\\d+\\.*\\d+");
            Matcher m = p.matcher(s);
            if(m.find()){
            System.out.println(m.group());// 17.10
        }