この正規表現の書き方を教えていただけますか?
1234567890
|
1234567890123 | 3210987654321
1324354657 |
1324354657689 | ;
1. 上記の内容で、赤色のテキストである長さ 10 の文字列のみを一致させたいのですが、td 内の数値が
である限り正規表現を記述するにはどうすればよいですか?
2. 赤 (長さ 10) の文字列を配列に入れ、黒 (長さ 13) の文字列を配列に入れたいのですが、手早く行う良い方法はありますか? td の数字がある限り
-----解決策---------
基本コード
PHP コード
$s = <<<
1234567890 |
1234567890123 |
0987654321 |
3210987654321 |
1324354657 |
1324354657689 |
TXT;
preg_match_all('/(d{13})|(d{10})/s', $s, $r);
print_r($r);
------解決策---------<br>D{10} が優先されます。フロント 連続する 10 個の数字と一致します。13 個の連続する数字が見つかった場合は、最初の 10 個と一致するため、エラーが発生します。 <font color="#e78608"></font>PHP コード<br> のように変更できます。
preg_match_all('/(d{10}b)|(d{13}b)/s', $s, $r);
print_r($r);
<br>
ログイン後にコピー
------解決策----------------------<br>(d{10}) 10 桁と一致します。条件を満たす各 TD に 10 桁以上の数字があるためです。したがって、最初のサブパターンと一致します。 <font color="#e78608"></font>2 つの正規表現を使用して 2 つの配列を形成すると、はるかに簡単になります。 <br><br>
ログイン後にコピー