簡體   English   中英

java字符之間的正則表達式java

[英]java regular expression between characters java

我的Java代碼:

 String subjectString = "BYWW4 AterMux TP 46[_221]  \n"
                + "FHTTY TC AterMux TP 9  \n"
                + "TUI_OO AterMux TP 2[_225]  \n"
                + "F-UYRE TC AterMux TP 2  \n"
                + "RRRDSA AterMux TP 31[_256]  ";

        String textStr[] = subjectString.split("\n");
        for (int i = 0; i < textStr.length; i++) {
            String ResultString = null;
            try {
                Pattern regex = Pattern.compile("????????");
                Matcher regexMatcher = regex.matcher(textStr[i]);
                if (regexMatcher.find()) {
                    ResultString = regexMatcher.group();
                    System.out.println(ResultString); /// 
                }
            } catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
            }
        }

我希望程序在此代碼上打印單詞 (TP) 之后和 ([) 之前的值,以獲得如下結果:
46
9
2
2
31

您可以使用 regexp TP\\s*(\\d+)\\[ (Java 代碼中的雙反斜杠)並使用regexMatcher.group(1)獲取值。 但是您不應該在循環的每次迭代中重新創建它,您應該為每個正則表達式使用Pattern.compile一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM