JavaScriptを使用しており、正規表現について質問があります。私は何を求めているのか正確には分かりませんでした。文字列を連結して正規表現を構築する方法は?
私は非常に長い正規表現を持っています。私は正規表現が何を検証しているかを明確にするために、より小さな文字列の束に分割したいと思います。
私は
const patternOne = /(\w+:{0,1}\w*@)?/;
const patternTwo = /([a-zA-Z0-9.-]+)/;
const pattern = new RegExp(`^${patternOne.source}${patternTwo.source}$`, 'i');
(この方法は、実際に動作する)、のような何かを行うことによって、より小さなものに長い正規表現を分割することが可能であることを知っているが、私は.source
を省略するなど、よりシンプルな何かをしたいと思います文字列だけで
pattern.test(myString)
のために行うとき、私は正規表現が無効であるというエラーを取得を使用して
const patternOne = '(\w+:{0,1}\w*@)?';
const patternTwo = '([a-zA-Z0-9.-]+)';
const pattern = new RegExp(`/^${patternOne}${patternTwo}$/`, 'i');
。
多分、私のキャラクターの1人をエスケープするのを忘れましたか?または、文字列だけを使用することはできませんか?
あなたは前方を入れていない正規表現を中心にスラッシュRegExp関数で定義されています。 – James