2

こんにちは、私はこの文字列を持っているとしましょう:

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

/Jack/ジャック・フロスト以外のすべてを見つけたい.

を使用して簡単にこれを行うことができますが?!、姓は含まれていません

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

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

したがって、基本的に の否定が必要です?:。そのようなことはありますか?

(?:Chan|Sparrow)別のジャックを追加すると一致しないため、やりたくありません。

ありがとう

4

1 に答える 1

2

先読みの後にマッチングを続けるだけです:

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