【发布时间】:2013-04-02 09:38:23
【问题描述】:
我有两个字符串的变体,例如:
学生的伙伴*作者:Alcock, Pete;May, Margaret;Wright, Sharon*MIL EAN/ISBN:9781283333115
Java 编程:Java 专家*作者:Sarang, Poornachandra*MIL EAN/ISBN:9781280117268
现在,我想抓住第一作者:Alcock、Pete aand Saran、Pooranachandra。
现在在 Javascript 中,我正在尝试做:
var regex = new RegExp("(Author:)\\s(.+)(?=;|MIL)");
var regexVal = value.match(regex);
console.log(regexVal);
或
var regex = new RegExp("(Author:)\\s(.+)(?=MIL)");
var regexVal = value.match(regex);
console.log(regexVal);
如果有一个作者,第二个正则表达式工作得很好,但是,如果有多个作者,我想选择值直到第一个 ; 而不是 MIL
| 匹配任一部分,所以,它不应该在 first 时停止;找到了吗?
问候, 大快朵颐
【问题讨论】:
-
如果第二个对您有用,请尝试使用
^运算符从(.+)中排除;。 -
感谢您的建议。
-
请注意,如果你想表达价值,stackoverflow cmets 也可以像答案一样被投票。
标签: javascript regex regex-lookarounds