2017-02-02 6 views
0

誰かがこの次の正規表現で私を助けることができますか?私はそれがこのパターン(クレジットカード形式)Regex invalid escape

1234-1234-1234-1234 

人が生成されます

([0-9]{4})+\-?([0-9]{4})+\-?([0-9]{4})+\-?([0-9]{4}) 

をいくつかのサイト上でテストされ、それがOKと言ったが、私の要素の検査官は、無効なエスケープがあることを私に伝えます番号を入力するとき

+1

を使用。 – Barmar

+0

JavaScriptかPHPですか?タグ付けする前に気を付け、この正規表現の使い方を教えてください。 –

+0

あなたの式は、[javascript](https://regex101.com/r/TT9roY/1)と[php](https://regex101.com/r/TT9roY/1)の両方で動作します。 ? – Jan

答えて

0

-のエスケープを無効/不要な削除ありがとうダッシュを含める必要はありません。数字グループの後に+を削除しました。

([0-9]{4})-?([0-9]{4})-?([0-9]{4})-?([0-9]{4}) 

またはあなたが `エスケープする必要はありません-`正規表現では、` [] `内部以外\dメタ文字

(\d{4})-?(\d{4})-?(\d{4})-?(\d{4}) 
+1

続ける:グループを削除します。 –

+0

入力をキャプチャしたいのか、それとも単に検証するのかによって異なります。 –

+0

なぜエラーが表示されると思いますか?これは 'pattern'属性で使われます。そこには抽出がありません。私は、OPが '/ u'修飾子を明示的に使っていることを非常に疑っています。 –