[英]How can I get all content between two pipes using regular expression
我有一個字符串說
String s = "|India| vs Aus";
在這種情況下,結果應該只有India 。
第二種情況:
字符串 s = "澳大利亞 vs |印度|"; 在這種情況下,結果應該只有India 。
第三種情況:
字符串 s = "|印度| vs |澳大利亞|" 結果應該只包含India, Aus 。 vs 不應該出現在 output 中。
在這些場景中,可以有任何其他詞來代替 vs。例如,字符串也可以是這樣的 |India| 在|澳大利亞|。 字符串也可以是這樣的 |India| 和|斯里蘭卡| 在|澳大利亞|。 我想要出現在兩個管道之間的那些詞,比如印度、斯里蘭卡、澳大利亞。
我想在 Java 中做到這一點。
任何指針都會有所幫助。
你會使用像...這樣的正則表達式
\|[^|]+\|
...或者...
\|.+?\|
您必須轉義 pipe 因為 pipe 在正則表達式中具有特殊含義or 。
您正在查看與此類似的內容:
String s = "|India| vs |Aus|";
Pattern p = Pattern.compile("\\|(.*?)\\|");
Matcher m = p.matcher(s);
while(m.find()){
System.out.println(m.group(1));
}
您需要使用該組來獲取正則表達式中括號內的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.