我目前有以下正则表达式
(?!\(\) => )test\(.*,.*\)
但我只想匹配
test("Test 1", () { expect(1, equals(1)); });
而不是
test(test, () { expect(test, "Test3"); }) )
来自以下文字
import 'package:unittest/unittest.dart';
main() {
testExecuter("fileName", test, () => $0 );
test("Test 1", () { expect(1, equals(1)); });
var tests = ["Test2", "Test3"];
for (var test in tests) {
testExecuter("fileName", test, () => test(test, () { expect(test, "Test3"); }) );
}
}
我正在使用regexpal.com测试它,因为某些原因正则表达式的部分说不以()=>开头不工作
答案 0 :(得分:1)
当你应该使用 lookbehind 断言时,你正在使用 lookahead 断言:
(?<!\(\) => )test\(.*,.*\)
毕竟,"test(test, ()..."
确实不会以 "() => "
开头 - 它是之前的,因此你需要看到“落后“目前的位置。