我想从java(android studio)中的变量String
中提取此模式,该变量始终包含此模式,但另一个文本是可变的且不具有相同的数字:
"这个互联网将在1397/7/16 22:30和#34;
到期我只想每次提取YYYY / MM / DD模式
例如,给我这个:" 1397/7/16"我怎么能这样做?
答案 0 :(得分:0)
如果你只是想要一个简单的模式来获得类似于日期和时间的数字,你可以使用Pattern
和Matcher
这样的正则表达式来实现:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestPattern {
public static void main(String[] args) {
Pattern datePatt = Pattern.compile(".*(\\d{4}/\\d{1,2}/\\d{1,2})\\s+(\\d{1,2}:\\d{1,3}).*");
Matcher matcher = datePatt.matcher("this internet will expires on 1397/7/16 22:300");
if (matcher.matches()) {
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
}
}
它将打印预期的:
1397/7/16
2:300
如果您不知道如何使用正则表达式,请从此处开始: https://www.regular-expressions.info/
你可以在这里测试它们: https://www.regexpal.com
如果您需要更精细的内容,请查看以下问题: Regex to validate date format dd/mm/yyyy
喝彩!