回答編集履歴

1

補足

2023/12/25 00:01

投稿

otn
otn

スコア85768

test CHANGED
@@ -1,5 +1,5 @@
1
1
  melianさんの回答だと、「Aさん なんとBさんに会えず。Aさん 東京にお弁当を持ってBさんに会いに行く。」のように順番が逆だとマッチしませんね。
2
- マッチしない理由が分かりにくいですが、`(?!`の直後の`.*?`が「なんとBさんに会えず。Aさん 」にマッチしてしまうからでしょう。もうちょと工夫するとなんとかなるのかも知れませんが、下記のように正規表現はシンプルにして、言語側で対応するのが簡明です。複数個あっても対応できます。
2
+ マッチしない理由が分かりにくいですが、`(?!`の直後の`.*?`が「なんとBさんに会えず。Aさん 」にマッチしてしまうからでしょう。もうちょと工夫するとなんとかなるのかも知れませんが、下記のように正規表現はシンプルにして、言語側で対応するのが簡明です。複数個あっても対応できます。また、除外条件が複雑になった場合の対応も、判断するコードを追加するだけなので簡単です。
3
3
  ```JavaScript
4
4
  function test(str){
5
5
  const pattern = /Aさん(.*?)Bさん/g;