JavaScriptを使用して、特定のパターンの最初のインスタンスの文字列をチェックし、パターン以降のすべてを返す必要があります。典型的な文字列、パターン、および望ましい結果については、以下の例を参照してください。
私が抱えている主な問題は、パターンに括弧などの特殊文字がほぼ確実に含まれることです。これらの特殊文字をエスケープするためにパターンを手動で変更することはできません。私が最初にそれを行うことができない限りreplace
?
例result = string.match(pattern.replace
(エスケープされた場合は特別))
そのようなことが可能かどうかはわかりません。正規表現は常に私に頭痛の種を与えます、そして私は正しい、または代替の方向へのどんな指針でもありがたいです。
バックグラウンド
私はLESSのためにいくつかの複雑なミックスインをしようとしています。そのため、バックティックでエスケープすることにより、1行のJavaScriptに制限されます。LESSでのJavaSCriptの使用に関する情報については、ここを参照してください。新しい可変個引数引数のサポートを使用して、複数のカラーストップを取得したいと思っていました。例:。radial-gradient(@shape, @position, @colorStops...)
ただし、LESSは、@argumentsを使用するときに渡される引数の全範囲のみを提供します。したがって、正規表現を使用して文字列に@argumentsを使用し、パターンに@colorStopを使用して、最初のカラーストップ以降を含むすべてを返すことを望んでいます。@colorStopを使用すると、LESSは最初のカラーストップ変数を返します。一般的な概念はここから取られました)
例えば:
文字列:円0%50%rgba(96、16、48、0)9px#661133 10px rgba(96、16、48、0)11px
パターン:rgba(96、16、48、0)9px
結果:rgba(96、16、48、0)9px#661133 10px rgba(96、16、48、0)11px