javascriptで正規表現を複数回実行する際の注意点 以下のコードは"hoge"という文字列が含まれているか正規表現で検索し、結果を表示するコードです。 var example = "hoge"; var regexp = /hoge/g; regexp.test(example); // true regexp.test(example); // false regexp.test(example); // true regexp.test(example); // false ... 一度目の実行ではtrueが返ってきますが、二度目の実行ではfalseが返ってきます。 以降は交互に結果が変わります。不思議ですね。 私はループ内で正規表現を実行する際に、この挙動につまづきました。 一体何が起きているのでしょうか? var examples = ["hoge", "hoge", "ho
![正規表現を複数回実行する際の注意点 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/214391c359458838345aaf32ff8b052d1ccabb3b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JUFEJUEzJUU4JUE2JThGJUU4JUExJUE4JUU3JThGJUJFJUUzJTgyJTkyJUU4JUE0JTg3JUU2JTk1JUIwJUU1JTlCJTlFJUU1JUFFJTlGJUU4JUExJThDJUUzJTgxJTk5JUUzJTgyJThCJUU5JTlBJTlCJUUzJTgxJUFFJUU2JUIzJUE4JUU2JTg0JThGJUU3JTgyJUI5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz00NGUxMzBjNmQ2ZTU2NGIyMTY3OWExODE4NTVjOGFmYw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBuYW5vY2xvdWR4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03YTFkZDE0YzM5MWY1ZDU0ZTMxODRhMzMzZGFhNjkzMg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dea0b552a834b046faa80ec6cd86b819c)