やりたいこと
下記のような文字列から"なんと"という文字列を取得したいと考えています。
Javascript
1var str = "Aさん 東京にお弁当を持ってBさんに会いに行く。Aさん なんとBさんに会えず"
試したこと
そこで、以下のような正規表現でstr.matchをすると東京にお弁当を持ってを取得してしまいます。
JavaScript
1var pattern = /Aさん (.+?)Bさん/;
なるほど、前段に最短でマッチするものが存在していることに気が付きました。今度はこのマッチしてほしくないケースについては、必ずその間に東京か大阪が含まれる文脈であることがわかっているため、以下のようなパターンを当ててみました。
JavaScript
1var pattern = /Aさん ^(?!東京|大阪)(.+?)Bさん/;
そると期待するなんとは取得できずに何も一致が得られない結果となりました。どのように東京、大阪を含む記載を否定して、なんとを取得できますでしょうか?
回答6件
あなたの回答
tips
プレビュー

2023/12/28 04:24
2023/12/28 04:25
2023/12/29 09:05