Reputation: 4287
In ruby, I often use something like this:
if "my string123" =~ /string(\d+)/
puts "I got #{$1}"
end
How would I do something similar in javascript? Currently, I've been doing this but it feels dirty.
m = "my string123".match(/string(\d+)/)
if (m)
puts "I got " + m[1]
Perhaps I should just live with this, but thought I'd ask if there was a syntax subtelty I was missing. Thanks!
Upvotes: 2
Views: 1434
Reputation:
this is just for testing the appearance of the expression in the text:
var a = "my string123"; //or given as data..
var b = /string(\d+)/;
if (b.test(a)) alert("found some digits inside");
this is for getting an array of matches:
var str = "Watch out for the rock!".match(/r?or?/g);
str then contains ["o","or","ro"]
Upvotes: 0
Reputation: 138037
You aren't missing anything.
If m
is already defined, you could do if(m = "string".match(/regex/))
, but this is less clean anyway, and you cannot use that with var
.
Upvotes: 1