PHP の正規表現は特殊で非常にわかりにくいです。解決方法
Jun 13, 2016 pm 01:23 PM
PHP の正規表現は特殊であり、非常にわかりにくいです。 。 。
次の 2 行のデータを抽出します
123[test] abc c1 c2 c3
456 def d1[test] d2 d3
改行とスペースで区切ります
に抽出する必要があります123, abc,c1 c2 c3
456,def,d1 d2 d3
データの途中に [*] がある可能性がありますが、これは無視する必要があります
preg_match_all 一致する式を要求します
----- -解決策--------------------
preg_match_all または preg_replace が必要ですか?
何が起こっていますか?それらのカンマで?最後の 3 つにカンマがないのはなぜですか?
------解決策------------------
定期的には、いいえ。 。
- PHP コード
$str = '123[テスト] abc c1 c2 c3 456 def d1[テスト] d2 d3'; $ar = split("[nr]+",$str); $ar1 =explode(' ',$ar[0]); $ar2 =explode(' ',$ar[1]); 関数 fmt($ar) { foreach($ar as $k => $v) $ar[$k] = preg_replace('/[.*]/','',$v); $ar を返します。 } $ar1 = fmt($ar1); $ar2 = fmt($ar2); $str = implode(' ',$ar1)."n".implode(' ',$ar2); echo "<pre>{$str}"; /* //出力 123 abc c1 c2 c3 456 デフ d1 d2 d3 */ <br><font color="#e78608">------解決策---------</font><br>
------解決策---------
行が多すぎても心配しないでください。上記のコードを少し変更すると、不規則な行データに適応できるようになります。
------解決策---------
- PHP コード
$str = '123[テスト] abc c1 c2 c3 456 def d1[テスト] d2 d3 789 ギ[sfjsldf] z1 z2 z3'; $ar = split("[nr]+",$str); $arTMP = 配列(); foreach($ar as $v) $arTMP[] =explode(' ',$v); 関数 fmt($ar) { foreach($ar as $k => $v) $ar[$k] = preg_replace('/[.*]/','',$v); $ar を返します。 } foreach($arTMP as $k => $v) $arTMP[$k] = implode(' ',fmt($v)); $str = implode("n",$arTMP); echo "<pre>{$str}"; /* //出力 123 abc c1 c2 c3 456 デフ d1 d2 d3 789 ギ z1 z2 z3 */ <br><font color="#e78608">------解決策---------</font><br>こんにちは。 。規則的なルールを見るたびにめまいを感じます。 。 <br>
- PHP コード
$str = '123[テスト] abc c1 c2 c3 456 def d1[テスト] d2 d3 789 ギ[sfjsldf] z1 z2 z3'; $str = preg_replace('/[.*]/','',$str); echo "<pre>{$str}"; /* //出力 123 abc c1 c2 c3 456 デフ d1 d2 d3 789 ギ z1 z2 z3 */ <div class="clear"></div>

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる

Samsung Galaxy Z Fold Special Edition、競合する名前が浮上、10月下旬に発売されることが判明

初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出

HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着

Cybertruck FSD のレビューでは、素早いレーン切り替えと全画面視覚化が賞賛されています

Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース

Manjaro 24.1「Xahea」は、KDE Plasma 6.1.5、VirtualBox 7.1 などとともに起動します
