For example, here is a string representing an expression:
var str = 'total = sum(price * qty) * 1.09875';
I want to extract variables (ie, 'total', 'price' and 'qty' but not 'sum' since 'sum' is a function name) from this expression. What is the regexp pattern in javascript? Variable name consists of letters, digits, or the underscore, beginning with letters or the underscore.
return "total = sum(price * qty) * 1.09875".match(/[a-z_]\w*(?!\w*\s*\()/ig);
Here,
[a-z_]
matches 1 letter or 1 underscore, \\w*
matches 0 or more letters, digits or underscore ( \\w
means [a-zA-Z0-9_]
) (?!…)
is a negative lookahead. The match will fail if the stuff inside is matched. \\w*\\s*\\(
matches some letters, followed by some spaces, and then an (
. This allows function names to be rejected.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.