regex - Javascript replacing characters using replace() -


this question has answer here:

i have piece of code

    <html>    <head>       <title>javascript string replace() method</title>    </head>    <body>       <script type="text/javascript">          var re = /(\w+)\s(\w+)/;          var str = "zara ali";          var newstr = str.replace(re, "$2, $1");           document.write(newstr);       </script>    </body> </html> 

can explain please , how it's read?

var re = /(\w+)\s(\w+)/; 

also in str.replace(re, "$2,$1); , $2 & $1?

refer link in comment posted above learn regular expressions. explain code posted does...

var re = /(\w+)\s(\w+)/; regular expression. leading , trailing / delimiters , don't have replacement going on other telling interpreter actual expression is: (\w+)\s(\w+)

  • the () called capturing parenthesis, , remembered browser can used later in replacement. first set assigned $1, second $2, etc...

  • \w matches alphanumeric character including underscore. it's equivalent [a-za-z0-9_]

  • + means apply previous expression 1 or more times

  • \s matches single whitespace character

so expression says @ string "zara ali" 1 or more alphanumeric characters (and remember them group, storing them in $1), white space character, group of 1 or more alphanumeric characters (and remember them group, storing them in $2). if match made, replace string string "$2, $1", second capturing group, followed comma , space, ending first capturing group.

so start with: "zara ali" , end "ali, zara"


Comments

Popular posts from this blog

c - Bitwise operation with (signed) enum value -

xslt - Unnest parent nodes by child node -

YouTubePlayerFragment cannot be cast to android.support.v4.app.Fragment -