![](/img/trans.png)
[英]how to define a regular expression that matches two different strings but not the third one
[英]How could I select a range of characters up until a third / is present and select all if there is no third / using regular expression
我需要在字符串中選擇一個范圍,直到第三個/
出現。
我目前有^([^\\/]*\\/[^\\/]*\\/[^\\/]*\\/
但這僅在字符串中超過 3 /
時才有效。理想情況下我需要選擇直到第三個/
所有字符,如果沒有第三個/
如果有人能想到解決這個問題的方法,那就太好了。
謝謝!
要匹配從/
第 3 次出現開始的子字符串,其中可能少於 3 /
s,您可以使用范圍量詞使用此正則表達式:
^(?:[^/]*/){0,3}
這個怎么運作:
^
我們從行首開始{0,3}
來匹配前面的組 0 到 3 次/
后跟/
的任何字符簡單但有點低效的方法是:
String input = "your/input/should/be/there";
String[] parts = input.split("/");
if (parts.length > 2) {
return String.join("/", parts[0], parts[1], parts[2]);
} else {
return input;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.