У меня есть два варианта строки что-то вроде:
The Student's Companion *Автор: Олкок, Пит; Мэй, Маргарет; Райт, Шэрон*MIL EAN/ISBN: 9781283333115
Программирование на Java: эксперт по Java*Автор: Саранг, Пурначандра*MIL EAN/ISBN: 9781280117268
Теперь я хочу взять первого Автора: Алкок, Пит и Саран, Пураначандра.
Теперь в Javascript я пытаюсь сделать:
var regex = new RegExp("(Author:)\\s(.+)(?=;|MIL)");
var regexVal = value.match(regex);
console.log(regexVal);
OR
var regex = new RegExp("(Author:)\\s(.+)(?=MIL)");
var regexVal = value.match(regex);
console.log(regexVal);
Второе регулярное выражение отлично работает, если есть один автор, однако в случае нескольких авторов я хочу выбрать значение до первого ; не MIL
| соответствует любой части, поэтому не должен ли он останавливаться при первом ; найден?
С уважением, Равиш
;
из(.+)
с помощью оператора^
. - person Barry Staes   schedule 02.04.2013