我需要一个正则表达式来返回以APP(“name”)
开头的函数的参数所以在这个例子中只有第二行匹配,它会返回文本-name -
testing text:
var w = app("name").test
var x = APP("name").test()
var y = SNAPP("name").test()
var z = APPLICATION("name").test()
我尝试了一些事情,但它不起作用:http://www.regexr.com/3a1h2
THX,
答案 0 :(得分:1)
您只需要添加单词边界,您必须转义()
括号,以便它与文字(
,)
符号相匹配。
/\bAPP\(([^()]*)\)/
\b
在单词字符和非单词字符之间匹配的单词边界。从组索引1中获取所需的字符串。
> var s = 'var x = APP("name").test()';
> console.log(/\bAPP\(([^()]*)\)/.exec(s)[1]);
"name"
答案 1 :(得分:1)
<强>正则表达式:强>
\bAPP\("([^")]+)
试试这个。看看demo。从组索引1中获取你想要的字符串。
https://regex101.com/r/aQ3zJ3/3
> var s = 'var x = APP("name").test()';
undefined
> console.log(/\bAPP\("([^")]+)/.exec(s)[1]);
name
答案 2 :(得分:0)
试试这个:
\sAPP\(\s*\S.*\)
您正在接收SNAPP()以及APP()
\ s 检查函数名称前的空格