こんにちは、私はJavascriptではかなり簡単な正規表現だと思っていたものを試していますが、多くの問題を抱えています。 '-'、 '。'、 '/'および ''のいずれかによるJavaScript分割を介して日付を分割する機能が必要です。
var date = "02-25-2010";
var myregexp2 = new RegExp("-.");
dateArray = date.split(myregexp2);
このすべてのヘルプの正しい正規表現は何ですか?.
分割したい文字を 文字クラス に入れる必要があります。これは、正規表現エンジンに「これらの文字のいずれかが一致する」ことを伝えます。あなたの目的のために、これは次のようになります。
date.split(/[.,\/ -]/)
ダッシュは、範囲指定子として文字クラスで特別な意味を持ちますが(つまり、[a-z]
は[abcdefghijklmnopqrstuvwxyz]
と同じ意味です)、クラスの最後に置くと、リテラルダッシュを意味し、エスケープする必要はありません。
パターンが機能しなかった理由を説明するために、/-./
は、正規のダッシュ文字とそれに続く任意の文字を一致させるよう正規表現エンジンに指示します( dots は正規表現のワイルドカード文字です)。 「2010年2月25日」では、ダッシュが「2」に一致し、ドットが「2」に一致するため、「-2」が検出されるたびに分割されます。
または単に(数字以外):
date.split(/\D/);
あなたはただ使うことができます
date.split(/-/);
または
date.split('-');
次に、数字以外で分割します。
date.split(/[^0-9]/);
あなたの文字列は次のとおりです:
let str = `Word1
Word2;Word3,Word4,Word5;Word7
Word8,Word9;Word10`;
次の区切り文字で文字列を分割します。
次のように文字列を分割できます。
let rawElements = str.split(new RegExp('[,;\n]', 'g'));
最後に、配列内の要素をトリミングする必要がある場合があります。
let elements = rawElements.map(element => element.trim());
または単に日付文字列2015-05-20または2015.05.20に使用します
date.split(/\.|-/);