Sie müssen nicht für eine einzige Regex gehen. Ich weiß nicht, wie in C# zu programmieren, aber ich kann Pseudocode bereitstellen.
String urls = "url1,url2";
Regex validUrlRegex = /^(https?:\/\/)?[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+$/;
Array urlsArray = urls.split(',');
Boolean allUrlsArevalid = true;
for(int i=0; i < urlsArray; i++) {
if(!urls.match(validUrlRegex)) {
allUrlsArevalid = false;
break;
}
}
print allUrlsArevalid;
Wenn Sie für einzelne Regex suchen. Dann
Regex validUrlRegex = "/((?:https?:\/\/)?[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+)/";
Regex desiredRegex = validUrlRegex + "(?:(?:,)" + validUrlRegex + ")*";
urls.match(desiredRegex);
Erklärung
Dies ist eine vereinfachte Format-String
"{validUrlRegex}? (: (:,) {ValidUrlRegex}) *"
(?:)
ist nicht nicht Klammern erfassen. d. h. alles, was darin ist, wird nicht in dem resultierenden Array gespeichert.
(?:(?:,){validUrlRegex})*
Dies entspricht keinem oder mehr Vorkommen von ,someUrl
.
Was soll ich sagen? Was ist Ihr Input, der zusammenpassen sollte? –
Ich möchte für ein Feld eingeben, das mehrere URLs mit Kommas wie folgt akzeptieren kann (https: //www.google.com,https: //www.facebook.com,docs.google.com,google.com) ... –