簡體   English   中英

Java正則表達式匹配不起作用

[英]Java regex matching not working

我正在嘗試編寫一個Search類,以搜索包含具有id屬性的dataItems的列表,以查找針對此類ID列表的點擊。

但是我無法使正則表達式正常工作。 我試過打印包含我的正則表達式的字符串變量,然后將其匹配而不是匹配它的變量,這使它出於某種奇怪的原因而工作。

我用這種方法做:

private <D extends dataItem> boolean subSearch(D d){
    boolean b = false; 

    for(String sf: d.getSearchField(searchF)){  
        System.out.println(sf); //String of id I match against
        System.out.println(searchQ); //Prints "(A0A5E1)|(A4QPC6)|(A6NC42)|(A6NMB1)|(A6NI73)"
        System.out.println(sf.matches("(A0A5E1)|(A4QPC6)|(A6NC42)|(A6NMB1)|(A6NI73)"));//Prints true
        b = b || sf.matches(searchQ);  
        if(sf.matches(searchQ)){ //Does not match when sf.matches("(A0A5E1)|(A4QPC6)|(A6NC42)|(A6NMB1)|(A6NI73)") matches
            System.out.println(searchQ);
            System.out.println(sf);
        }
    }
    return b;
}

關於sf.matches(searchQ)出了什么問題的任何想法?

我沒看到任何問題。 我什至在本地執行了此操作(僅在for循環內執行),而if(sf.matches(searchQ))為我返回了true。

我認為searchQ沒有正確的正則表達式。

暫無
暫無

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

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