我有func logInViewController(logInController: PFLogInViewController, didFailToLogInWithError error: NSError?) {
print(error)
print("failed to login")
}
,我希望在正则表达式中匹配myObject.myFunction()
。如果我想匹配两个字符串之间的所有内容,则表达式myFunction
有效;因此abc(.*)def
会按预期返回var str = 'abc test def';str.match(/.(.*)def/)
。但表达式["abc test def", " test "]
不起作用。我想在我的sublime文本中添加一个Javascript语法2.谢谢。
答案 0 :(得分:3)
但是表达式。(。*)(不起作用。
因为.
是正则表达式中的特殊字符。要匹配文字.
,请将其转义:\.
(
也很特别,所以你也需要逃避它:
var str = "/* Some function call */ myObject.myFunction() /* stuff */";
var match = str.match(/\.(.*)\(/);
document.body.innerHTML = match[1];

由于.*
是一个贪婪的子模式,因此它与该行的最后一个(
匹配。您可以使用否定字符类[^(]*
来匹配第一个(
:
var str = "/* Some function call */ myObject.myFunction() { var str = \"String ()\";} /* stuff */";
document.body.innerHTML += str.match(/\.([^(]*)/)[1] + "<br/>";
document.body.innerHTML += str.match(/\.(.*)\(/)[1];
&#13;