Comando de expresión regular Javascript

Tratar

<script type="text/javascript"> var str=">1 people>9 people>1u people"; document.write(str.match(/>.*people/img).length); </script> 

en http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_regexp_dot . Este código debería devolver una matriz de tamaño 3 pero devuelve una matriz de tamaño 1 .
¿Dónde está el problema?

One Solution collect form web for “Comando de expresión regular Javascript”

La parte .* de tu expresión regular es ser "codicioso" y tomar tantos caracteres como sea posible, en este caso, devolver toda la cadena como una sola coincidencia.

Escríbelo así en su lugar, con un rastro ? :

 str.match(/>.*?people/img) 

Ver la sección que describe "?" en la Referencia de JS de Mozilla Developer Network .

  • Eliminar todas las apariciones de palabras
  • Javascript regex no coincide con el último carácter en forma
  • Expresión regular de Javascript para eliminar elementos no deseados, & nbsp;
  • caracteres opcionales en la expresión regular javascript
  • Propósito de (. +?) En expresiones regulares
  • Javascript reemplaza los contenidos en una cadena si existe
  • Regex: permite todo less algunos caracteres seleccionados
  • ¿Cómo puedo unir múltiples ocurrencias con una expresión regular en JavaScript similar a la preg_match_all () de PHP?
  • Regex lee de derecha a izquierda
  • Regex para verificar todos los dígitos son iguales o no
  • Formato de moneda Regex - Javascript
  • Recuperar subcadena entre dos caracteres
  • expresión regular en Crockford's String.supplant
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.