0

正規表現を使用して文字列をチェックするのを手伝ってくれる人がいますか:

私の文字列は任意の形式になります

12AAA22TBI

上記のスティングは次の形式ですNNTTTNNTTT

どこ

N - 数値、T - テキスト

形式を静的にチェックするコードを書くことができます。しかし、フォーマットは動的になります。

2 番目のケースが次123456TTT = NNNNNNTTT のようになるとします。形式が異なります。動的な値を持つ正規表現を書くのを手伝ってくれる人がいますか?

注:文字列の長さと FORMAT の長さが変わります。

擬似コード:

Function ('FORMAT','STRING'){
IF(FORMAT == STRING): Return 1;
ELSE Return 0;
}

FORMAT == STRINGここで、正規表現を使用して動的にフォーマットと文字列をチェックするのに助けが必要です。

例: 関数は同じですが、フォーマットと文字列は異なります。

1. NNNTTTNN -- 111ABC22
2. TNTNTNTN -- A1B2C3D4
3. TTTTNNNNN -- ABCD12345
4. TTNNTTTTTT -- AB01ABCDEF

上記は一部の例です。

4

2 に答える 2

2

以下のコード例を最初に使用してください...

$format = 'NNTTTNNTTT';
$value  = '12AAA22TBI';

$format = preg_replace('/[^NT]/', '', $format);
$format = preg_replace('/T/', '[A-Z]', $format);
$format = preg_replace('/N/', '\d', $format);
$format = "/^$format$/";

$match = (preg_match($format, $value));

print "$match\n";

ここでテストします

于 2013-11-11T20:33:21.177 に答える