JavaScript 4©2ch.net (398レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

342: 2019/07/16(火)20:12 ID:hMJFhr7R(1/2)調 AAS
というかこれはMDNに注意書きがいる案件だ。
勿論君の手柄にしてくれていいから、誰かやっておいてくれ。
追記は取り敢えず4ヶ所(3文案)か?

1. String.match に、
「空文字にマッチした場合、その空文字の次の文字にはマッチしません。
このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、全てのマッチ文字列が結果に含まれないことがあります。」

2. String.replaceに、
「空文字にマッチした場合、その空文字の次の文字にはマッチしません。
このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、全てのマッチ文字列が置換されないことがあります。」

3. RegExp.exexとRegExp.testに、
「空文字にマッチした場合、lastIndexが更新されません。(+1されません)
このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、
ループ内でマッチ結果の空文字判定を行わないと、無限ループします。」

問題となるケースは、空文字マッチを含む正規表現+空文字マッチ直後にマッチ文字列が来る場合。
具体的には>>341
searchはgマッチ関係ないからセーフ、
splitに関係するケースがあるかは分からない。(ぱっとは思いつかない)
matchAllは知らん。

ちなみに以前 test について文句を言った者だ。これについて対応してくれた人はありがとう。
今回も頼むわ。
なお今確認すると、
> 注目すべきは、別な文字列で検索しても lastIndex がリセットされないことです。
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
とモロに書いてあって素晴らしい。ただこれはもっと赤字とか目立つように書くべきだが。

俺はWeb板は無視しているが、これについてだけは告知貼っておく。
いずれにしてもMDNの更新誰かよろしく。
343: 2019/07/16(火)20:29 ID:hMJFhr7R(2/2)調 AAS
告知は貼った。
2chスレ:hp

何かあればここでよろしく。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s