正则表达式 - 从头到尾完全匹配

Regex - Exact match start to end

我的多行用法好像有点小冲突..上下文在这里

test-test-3
test-1

我正在尝试正则表达式精确匹配每一行,给它 test 字符串,它 returns 在 -:

之后是什么
/test-(.*)/i

This 会捕获第一行,即 test-test-3,我想捕获第二行 test-1

我正在尝试从行首到行尾精确匹配我要查找的内容(1 个匹配项),使用 ^$ 无效, 可能是因为我用的是多行 (\n),

我试过了:/^test-(.*)$/i/^test-(.*)\n$/i 无效

如果你想匹配第二行,你需要在正则表达式的开头放置一个文字\n,因为^也匹配第一行的开头。

$str = "test-test-3
test-1";
preg_match('/\ntest-(.*)$/mi', $str, $match);
var_dump($match);

DEMO