2016-10-18 4 views
0

у меня есть это натягиваетRegular Expression матч эта строка

01 - Il visitatore - Lia and me II 

я пишу это регулярное выражение

(\ d *). - ?. - \ s

но соответствует только номер. в результате я бы

Group1: 01 
Group2: Il visitatore misterioso 

ответ

1

Если у вас есть доступ к коду программирования, можно легко разбить строку с «пространством» - «дефис» - «пространство», и получить необходимые предметы.

С регулярным выражением, вы можете использовать

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

Смотрите regex demo

Детали:

  • ^ - начало строки
  • (\d+) - 1-й группы захвата 1 или больше цифр
  • \s*-\s* - дефис прилагается 0+
  • непечатаемых
  • ([^-]+) - Группа 2 захватывающих 1+ других символов, чем -, как много, насколько это возможно (The + квантификатор жадные)
  • \s - пробельный
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])