【发布时间】:2021-03-27 17:45:04
【问题描述】:
我需要从一个字符串中提取以下模式,并根据输入返回一个可能的匹配项。
我使用了正则表达式,通过不同的可能性,我没有设法得到预期的结果:
输入 a):
71346 G249 USD 70045620 27/08/2020 001 / 004
输入 b):
71346 G249 USD 70045620/2020 27/08/2020 001 / 004
试一试
String result = data.replaceFirst ( "(.*?([0-9]{6,}\\/[0-9]{4}).*)|(.*?([0-9]{6,}).*)", "$1" );
试试两个
String result = data.replaceFirst ( ".*?([0-9]{6,}\\/[0-9]{4})|([0-9]{6,}).*", "$1" );
尝试三个
String result = data.replaceFirst ( ".*?([0-9]{6,})([0-9]{6,}\\/[0-9]{4}).*", "$1" );
根据输入的预期结果:
输入 a):
70045620
输入 b):
70045620/2020
【问题讨论】:
标签: java regex string regexp-replace