AW: RegExp Split \r\n in Javascript

Hallo,

warum liefert folgender Split in Javascript den Wert 7?

var test = "A\r\n\r\nB\r\nC\r\n";  
return test.split(/(\r?\n)+/).length;

In Java liefert es wie erwartet 3.

Hat jemand eine Idee?

  1. Hi,

    warum liefert folgender Split in Javascript den Wert 7?

    var test = "A\r\n\r\nB\r\nC\r\n";

    return test.split(/(\r?\n)+/).length;

      
    [MDC: string.split(\[separator\]\[, limit\])](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split):  
    
    > “If separator is a regular expression that contains capturing parentheses, then each time separator is matched the results (including any undefined results) of the capturing parentheses are spliced into the output array.”  
      
    MfG ChrisB  
      
    
    -- 
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    
    1. Hi,

      warum liefert folgender Split in Javascript den Wert 7?

      var test = "A\r\n\r\nB\r\nC\r\n";

      return test.split(/(\r?\n)+/).length;

      
      >   
      > [MDC: string.split(\[separator](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split)[, limit])]:  
      > > “If separator is a regular expression that contains capturing parentheses, then each time separator is matched the results (including any undefined results) of the capturing parentheses are spliced into the output array.”  
      >   
      > MfG ChrisB  
      >   
      >   
        
      ok danke. dann macht das Sinn :)
      
  2. Hallo,

    warum liefert folgender Split in Javascript den Wert 7?

    var test = "A\r\n\r\nB\r\nC\r\n";

    return test.split(/(\r?\n)+/).length;

    
    >   
    > In Java liefert es wie erwartet 3.  
    >   
    > Hat jemand eine Idee?  
      
    so funktioniert es:  
      
    ~~~javascript
      
    test.split(/[\r?\n]+/);
    

    der group scheint in js anders implementiert zu sein. logisch ist das allerdings für mich nicht...