0

私は現在、この正規表現を持っています:

/(^| )[a-z]{5}-[a-z]{5}( |$)/i

文字列またはスペースの開始、5 文字、リテラル ダッシュ、5 文字、スペースまたは文字列の終了、大文字と小文字は区別されません。

これにより、次のような文字列が見つかります。pejnd-zxdgn

最初の文字を文字ではなく数字にする必要があります。

どうやってこれを書くのですか?

編集: 明確にするために

一致する必要があります:pejnd-zxdgnまたは7ejnd-zxdgn

7pejnd-zxdgnor7ejn-zxdgnまたは p7ejnd-zxdgnと一致してはなりません

4

2 に答える 2

3

パーツの前に数字のパターンを追加するだけ[a-z]です。数量詞を次のように変更し{4}ます。

/(^| )[0-9][a-z]{4}-[0-9][a-z]{4}( |$)/i

更新後、最初の文字を数字または文字にしたいだけです。\bまた、コメントに記載されているように、最初と最後に単語境界を使用することもできます。したがって、正規表現を次のように変更します。

/\b[a-z0-9][a-z]{4}-[a-z]{5}\b/i
于 2013-09-26T19:34:52.613 に答える
-1

'\d' を使用して、1 桁の数字に一致させます。

于 2013-09-26T19:37:38.943 に答える