【发布时间】:2017-10-09 16:47:55
【问题描述】:
我需要使用单个正则表达式 (preg_match_all) 命令解析所有这些行:
at Object..test (resources/assets/js/tests/example.spec.js:423:23)
(/resources/assets/js/tests/example.spec.js:423)
/resources/assets/js/tests/example.spec.js:423
resources/assets/js/tests/example.spec.js:423
我应该匹配(捕获组)文件名和行号
resources/assets/js/tests/example.spec.js
423
这就是它(PHP)几乎完成了:(?:\()([\/]*.*\/[^:]*):([0-9]+),但它并不匹配所有这些,这是 regex101 上的:
【问题讨论】:
-
你为什么要匹配
(?删除(?:\())不行吗? -
(?:\()有效,但它不匹配不以(开头的任何内容 -
你不是得到你想要的文件名和行号,还是你想匹配最后两行? regex101.com/r/hM2sK8/16
-
但是你的演示已经开始工作了不是吗?
-
是的,它应该匹配所有行。
标签: php regex preg-match