[英]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.