【发布时间】:2018-07-04 08:46:47
【问题描述】:
被匹配的文本要么是“问题”,要么是带有随附文本的“请求”。例如
问题:检查所有锅炉
请求:维修给水泵锅炉 5
如果我使用 javascript 在线正则表达式测试实用程序测试我的表达式,它会按预期工作,但是我的应用程序脚本会失败,因为只测试第一个表达式并且总是忽略备用捕获组。
tmp = content.match(/Request\s{0,3}:\s{0,3}([A-Za-z0-9.,'&\s]+)(\r?\n)|Issue\s{0,3}:\s{0,3}([A-Za-z0-9.,'&\s]+)(\r?\n)/);
【问题讨论】:
-
试试
.match(/\b(?:Issue|Request)\s*:\s*(.+)/)[1] -
是的!谢谢 Wiktor,最简单的总是最好的。
-
我不知道为什么这个贪婪的表达方式不仅在问题或请求之后捕获了我文档中的所有文本,而且还在起作用。
-
这是因为
.匹配任何字符除了换行符。