2

嗨,假设我有这个字符串:

var text = "Jackie Chan | Jack Frost | Capt.Jack Sparrow"

我想找到/Jack/除 Jack Frost 之外的所有东西。

我可以通过使用轻松做到这一点?!,但它不包括姓氏

text.match(/[^\s]*Jack[^\s]*(?!\sFrost)/g);
// Result: ['Jackie', 'Capt.Jack']

// I want the result to be ['Jackie Chan', 'Capt.Jack Sparrow']

所以我基本上需要?:. 有这种事吗?

我不想这样做,(?:Chan|Sparrow)因为如果我添加另一个 Jack,它将无法匹配。

谢谢

4

1 回答 1

2

在前瞻之后继续匹配:

text.match(/\S*Jack\S*(?!\s+Frost)\s+\S+/g)
于 2013-07-19T07:34:36.690 回答