[英]Extract data from String using regular Expression
我將從字符串中提取業務價值。 但是我的問題是,字符串在循環中每次都重復。 並且內容語法總是相同的,但是內容正在變化。 因此,我需要一個reg-expr來幫助我提取數據。
到目前為止,我已經嘗試過:( ("^\\\\d{1,2}(.{1})\\\\s([A-Za-z]{2})\\\\s(([AZ]\\\\d{2,3}))\\\\s.")
但是上述提供的模式僅輸出前三個參數: 01. Di F929
示例字符串顯示如下:
\n 01. Di F929 * Fr F929 Fr FREI Mo S688 Mi S49 * Sa S57 Mo F929 \n F224 So S49 Di X337 Fr F56 So FREI \\ n\n
讓我解釋一下字符串是如何構建的。
重要:
Di + F929 + *代表單個數據塊。 每個字符串包含大約12個數據塊。
我需要的是一個匹配上述問題的正則表達式。 謝謝!
這將幫助您:
(\d{1,2}\.)?\s*([A-Za-z]{2}\s+[A-Z0-9]+\s*[*X]?)\s*
Java代碼:
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("(\\d{1,2}\\.)?\\s*([A-Za-z]{2}\\s+[A-Z0-9]+\\s*[*X]?)\\s*");
String string = "01. Di F929 * Fr F929 Fr FREI Mo S688 Mi S49 * Sa S57 Mo F929 " +
"Do F224 So S49 Di X337 Fr F56 So FREI \\n";
Matcher m = pattern.matcher(string);
while (m.find())
System.out.println(m.group(2));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.