0

私はphpで正規表現を学習しようとしていますが、特定のパターンの正規表現を書き込もうとして立ち往生しています。

私が達成しようとしているパターンは次のとおりです。

文字で始める必要があります。

文字、数字、またはアンダースコアを含めることができます。

文字列全体で少なくとも3文字が必要です。

私が試したこと;

'#^[a-z0-9_]+$#i' // this one just matches the characters I want

そして、これは私が立ち往生しているところです私はこれを試しました、

'#^[a-z]{1}[a-z0-9_]+$#i' // doesn't work

私はこのサイトから学ぼうとしていますが、頭を包み込むのが難しいと感じています。

http://www.regular-expressions.info/reference.html

ありがとう

4

2 に答える 2

2
'#^[a-zA-Z]([0-9_]*[a-zA-Z]){2}[a-zA-Z0-9_]*$#'

[a-zA-Z]最初の制約をチェックします(文字で始まります)

([0-9_]*[a-zA-Z]){2}2番目の制約をチェックします(合計3文字である必要があります)

[a-zA-Z0-9_]*以前の制約を解放し、許可された文字の使用のみに制限されます

于 2013-03-09T13:51:12.317 に答える
1

これはそれを行う必要があります:

#^[a-zA-Z]{1}(\w*[a-zA-Z]\w*){2}$#i

説明:

^[a-zA-Z]{1}  // 1st character is a letter
(\w*[a-zA-Z]\w*){2}$ // The rest of the body contains exactly 2 letters, and 0 or more of any other word characters (letter, number, underscore)

これがrefiddleの例です:http://refiddle.com/gld

于 2013-03-09T14:19:13.150 に答える