1

正規表現を書こうとしていますが、あなたの助けが必要です...

要件- 最初の文字が「s」の場合、その後に 2 つの数字が続く必要があります 例 - S98 「 s 」でない場合、その後2 つのアルファベット文字が続く必要があります

以前と同じように書いたのですが、うまくいきません。2つの部分(|の前後)に別々に分割すると機能しますが、一緒には機能しません..

regexevent = /^([s]{1})([0-9]{2})| ([a-rt-z]{1})([A-Za-z]{2})$/;

助けてください

4

1 に答える 1

4

$とは ORの^一部であるため、アンカーされた LHS の開始点またはアンカーされた RHS の終了点を探します。全体を括弧で囲む必要があります...

regexevent = /^(([s]{1})([0-9]{2})| ([a-rt-z]{1})([A-Za-z]{2}))$/;

または、正規表現を少し簡潔に書くこともできます...

regexevent = /^(s\d{2}|[a-rt-z][A-Za-z]{2})$/;

(これらのキャプチャ グループの一部は必要ないと仮定します。)

また...

最初の文字は「s」で、その後に 2 桁の数字が続く必要があります。例 - S98

の場合、正規表現は失敗しSます( のみをチェックしますs)。を使用できます[sS]

于 2013-07-02T10:22:24.473 に答える