ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で否定後読みアサーションをシミュレートするにはどうすればよいですか?
JavaScript での負の後読み機能の実現
負の後読みアサーションを使用すると、特定の文字セットで始まらない文字列を照合できます。 JavaScript では負の後読みが明示的にサポートされていないにもかかわらず、実行可能な代替手段があります。
2018 年以降、後読みアサーションが ECMAScript 仕様に組み込まれました。
// Positive lookbehind: (?<=...) // Negative lookbehind: (?<!...)
Pre -2018 アプローチ
または、否定的な場合後読みは使用できないため、次のアプローチを検討してください:
例:
const reverse = (string) => { return string.split('').reverse().join(''); }; const test = (inputStrings, reversedRegex) => { inputStrings.map(reverse).forEach((reversedString, idx) => { const match = reversedRegex.test(reversedString); console.log( inputStrings[idx], match, 'token:', match ? reverse(reversedRegex.exec(reversedString)[0]) : 'Ø' ); }); };
例 1: 「jim」または「m」の「m」と一致しますが、入っていない"jam":
test(['jim', 'm', 'jam'], /m(?!([abcdefg]))/);
出力:
jim true token: m m true token: m jam false token: Ø
例 2: "max-height" と一致するが一致しない"line-height":
test(['max-height', 'line-height'], /thgieh(?!(-enil))/);
出力:
max-height true token: height line-height false token: Ø
以上がJavaScript で否定後読みアサーションをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。