[英]Regex to match anything after a delimiter
我有以下情况:
时间格式和一些由分隔符分隔的描述-
(如下)
00:00 - Hello element
我正在使用下面的正则表达式来检测匹配
/((?:\d{2,}:)?(?:[0-5]\d):(?:[0-5]\d)(\s?-.\w+))/g;
它只匹配空格后的“00:00 - Hello”,它没有匹配。 这是它的演示https://regex101.com/r/omUEHy/1
此外,如果字符串在同一行中多次匹配,它应该可以工作。
如果我有像00:50 - Hello element 01:50 - Poetry
这样的文本。 它应该返回00:50 - Hello element
和01:50 - Poetry
提供的正则表达式... /\d{2}:\d{2}\s+.*?(?=\s+\d{2}:|\s+$)/g
... 利用 正向前瞻... (?=\s+\d{2}:|\s+$)
(空白序列两位数和冒号或空白序列和字符串结尾)...为了定义惰性/非贪婪的终止匹配任何字符...。 .*?
...它确实遵循... \d{2}:\d{2}\s+
的开头匹配序列。
const multilineSample = `00:50 - Hello element 01:50 - Poetry 00:50 - Hello element and another element 01:50 - Poetry 00:50 - Hello element and another element 01:50 - Poetry and prose 00:50 - Hello element 01:50 - Poetry `; const regXTimeAndEntry = /\d{2}:\d{2}\s+.*?(?=\s+\d{2}:|\s+$)/g; console.log( multilineSample.match(regXTimeAndEntry) );
.as-console-wrapper { min-height: 100%;important: top; 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.