例如:
输入 => “Some.Random ,, Test.Data此处价格为1,23.456 ......,$$$”
输出匹配 =>除 1,23.456
价格定义为任何字符串开头和&以数字结尾,具有一个或多个字符分隔符。 例如:
< / p>
请注意,所有关于输入的知识都是它可以是任何长度的字符串,但其中嵌入了Price。
基本上解决的问题是使用String ReplaceAll从输入字符串中提取Price,这是系统中内置的运行时函数。所以我会说 ReplaceAll(Regex,EMPTY_String)只返回输入中的价格
我一直在尝试“ [\ D&amp;&amp; [^(?&lt; = \ d)\ D(?= \ d)]]] ”其中我会匹配所有非数字和任何不出现的非数字b / wa数字,仅使用正则表达式。
谢谢,
答案 0 :(得分:2)
这个regex (demo)应该可以解决问题:
^(.*?)(?:\d[0-9.,]*\d)(.*)$
as Java string:
"^(.*?)(?:\\d[0-9.,]*\\d)(.*)$"
将替换为第一和第二个被捕获的组:
$1$2
如:
String output = input.replaceAll("^(.*?)(?:\\d[0-9.,]*\\d)(.*)$", "$1$2");