回答編集履歴
1
補足
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;
|