2
javascript regexpを使用して、"/foo"
または"/foo d/"
のような文字列を見つけたいと思いますが、"/foo /"
ではなく、すなわち、「注釈文字」、終端注釈のない単語、または終端がフレーズの終わりに来る複数の単語(スペースなし)。状況を複雑にすると、可能な注釈シンボルは、/
,\
、および|
です。私が何かしようとしたキャプチャグループを否定する方法は?
:ある
/(?:^|\s)([\\\/|])((?:[\w_-]+(?![^\1]+[\w_-]\1))|(?:[\w\s]+[\w](?=\1)))/g
は、(注釈以外のもの)で、次に文字と注釈を踏襲していない単語、その後
- 、注釈、その後、スペースで始まります..または
- おそらく複数の単語、その直後に注釈文字が続きます。
問題は[^\1]
です:これは山括弧で "注釈文字以外のもの"と読みません。
私は、アノテーション文字ごとに1つずつ、フレーズ全体を3回繰り返すことができました。どんな良いアイデアですか?
ところで、「\ w」にはすでに「_」が含まれています。 –
'[^ \ 1] +'の代わりに '。+?'を試し、次の注釈文字まで貪欲ではないものと一致させてください。 –