我理解在JavaScript中,您可以执行正则表达式替换,并引用捕获组,如下所示:
> "Hello World 1234567890".replace(
/Hello (World) (1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,
"What's up $1");
"What's up World"
Run Code Online (Sandbox Code Playgroud)
这一切都很好.但是,如果我想引用第1组然后立即跟随"1",该怎么办?说我看什么"世界上有什么1".所以我写道:
> "Hello World 1234567890".replace(
/Hello (World) (1)(2)(3)(4)(5)(6)(7)(8)(9)(0)/,
"What's up $11");
"What's up 0"
Run Code Online (Sandbox Code Playgroud)
当然,在这种情况下,它引用的是组11,即"0",而不是组1后跟"1".
我怎么能解决这种歧义?
我正在尝试使用ActivityInstrumentationTestCase2为登录活动运行多个测试用例.第一个测试用例测试登录成功,这会导致Activity通过调用startActivity(Intent intent)启动下一个Activity.现在,我正在尝试测试的Activity上有另一个Activity.第一个测试用例通过,第二个测试用例启动.但是当它被第二个测试用例调用时,它将永远挂在getActivity()上.
如果我进入我的登录Activity的代码并注释掉调用startActivity(Intent intent)的部分,那么两个测试用例都将成功运行.
我已经尝试了一些东西.我使用Intent.FLAG_ACTIVITY_CLEAR_TOP来清除Activity堆栈.在这种情况下,顶部活动被关闭,并且显示登录活动,但是当第二个测试用例启动时它仍然停留在getActivity().
我也试过sendKeys(KeyEvent.KEYCODE_BACK),但是没有效果.
我该怎么做才能克服这个问题?谢谢!