正则表达式匹配此字符串

时间:2016-10-18 08:14:40

标签: regex

我有一个这个字符串

01 - Il visitatore - Lia and me II

我写这个正则表达式

  

(\ d *)的 - ?. - \ S

但仅匹配数字。结果我会

Group1: 01 
Group2: Il visitatore misterioso

2 个答案:

答案 0 :(得分:1)

如果您可以访问编程代码,则可以使用“space” - “hyphen” - “space”轻松拆分字符串,并获取必要的项目。

使用正则表达式,您可以使用

^(\d+)\s*-\s*([^-]+)\s

请参阅regex demo

详细

  • ^ - 字符串开头
  • (\d+) - 第1组捕获1个或多个数字
  • \s*-\s* - 用0+空格包围的连字符
  • ([^-]+) - 第2组尽可能多地捕获-以外的1个字符(+量词是贪婪
  • \s - 空白

答案 1 :(得分:0)

希望这有帮助!



var string = '01 - Il visitatore misterioso - Mia and me II';
var regex = /^(\d{2})\s\-\s([\w\s]+)\-[\w\s]+$/;
var matches = regex.exec(string);

console.log('Group 1:', matches[1])
console.log('Group 2:', matches[2])