由两个逗号分隔的三个单词的正则表达式

时间:2015-11-15 08:20:23

标签: javascript regex

需要匹配下面给出的所有方案

最少一个单词没有逗号

最多三个单词分隔两个“单一空格+逗号”(,)

每个单词中都没有空格但允许使用所有特殊字符

sometext, sometext, sometext-->valid
sometext-->valid
sometext, sometext-->valid

sometext, sometext, sometext, -->invalid
sometext, sometext, sometext, sometext -->invalid
sometext, -->invalid
sometext sometext, sometext sometext -->invalid

尝试了以下表达式,但无法验证无效方案

[a-zA-Z]*(,[a-zA-Z]*){0,2}

由于

4 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

/^(\w+,\s*){0,2}\w+$/gm

RegEx Demo

或者允许除逗号和空格之外的特殊字符使用:

/^([^\s,]+,\s*){0,2}[^\s,]+$/gm

答案 1 :(得分:0)

试试这个:

/^[^ ,](,\s[^ ,]){0,2}$/

答案 2 :(得分:0)

只是为了没有正则表达式的乐趣(我不知道它是否比正则表达式更快)

NSURL *url = [NSURL URLWithString:@"http://www.scratchclass.com:80/videos/"];
NSURLRequest *request = [NSMutableURLRequest requestWithURL:url];           
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * data, NSURLResponse * response, NSError * error) {
    if (error) {
      NSLog(@"Connection failed! Error - %@ %@",
          [error localizedDescription],
          [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
    } else {
      NSError *jsonError;
      NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonError];
      if (jsonError) {
        NSLog(@"NSJSONSerialization failed! Error - %@ %@",
              [jsonError localizedDescription],
              [[jsonError userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
      } else {
        NSMutableArray *videos = [[NSMutableArray alloc] init];
        for (NSDictionary *item in  jsonArray) {
          GetVideos1 *testVideo = [[GetVideos1 alloc] init];
          testVideo.IDVideo = item[@"IDVideo"];
          testVideo.title = item[@"title"];

          // Add this question to the locations array
          [videos addObject:item];
        }
        if (self.delegate) {
          [self.delegate itemsDownloaded:videos];
        }
      }
    }
}] resume];

答案 3 :(得分:0)

检查此正则表达式:

^([a-z]+,\s{1}){0,2}[a-z]+$  

它将完全匹配您提到的示例文本,包括空格。