正規表現を検索するには、負のゼロ幅アサーションを使用する必要があります。
Content
<a>123456</a>7890234<a>123789</a>
にない内容、つまり
7890234<a>123789</a>
以下は自分で書いた正規表現ですが、失敗しました。アドバイスをいただければ幸いです
(?!<a.*?)\d+(?!.*<\/a>)
ディスカッション (解決策) に返信
オンラインで待つ必要があります
123789 も にありませんか?最初に表示される 文字と一致しますか?
文字列処理関数を使用して、最初の を検索し、先頭と末尾の位置を取得して、文字列を処理できる場合があります。
最初に改行で文字列を区切ってから、各部分文字列に対して通常のマッチングを実行することをお勧めします
主に「負のゼロ幅アサーション」の意味を理解したいと思います。誰がこの正規表現を書けるのかわかりません
それはあなたの問題を解決しませんでしたが、それを解決する過程で奇妙な問題に遭遇しました
$str = <<)\d+(?=<\/a>)/',$str,$m);// [0] => 123456preg_match_all('/(?)\d+(?!<\/a>)/',$str,$t1);/*与 或 相邻的数字没有获取到[0] => 2345[1] => 7890234[2] => 23[3] => 78单独测试 123也是只能获取到 23*/$str_space = << 123456 7890234 123789 EOF;preg_match_all('/(?)\d+(?!<\/a>)/',$str_space,$t2);/*而在 或 相邻的数字加一个空格就可以了[0] => 123456[1] => 7890234[2] => 123[3] => 789*/echo "";print_r($m);print_r($t1);print_r($t2);echo "";
ご協力ありがとうございます
おはようございますこの問題の解決策はありませんか?
一致するものだけです 123456 に到達するのは非常に簡単ですそれを削除すれば、残りは必要なものになりますか?
$s =<<< TXT<a>123456</a>7890234<a>123789</a>TXT;$p = '#\d+[\r\n]+#';preg_match_all("/[^\r\n]+/", preg_replace($p, '', $s), $m);print_r($m);
Array( [0] => Array ( [0] => 7890234 [1] => <a>123 [2] => 789</a> ))
PHP の正規表現は最新の正規表現のすべての機能を完全に実現しているわけではなく、アサーションの実装が不完全であることに注意する必要があります
正規表現を学びたい場合は、C# や Java 環境で勉強する必要があります
実際に使用する必要がある場合は、頭を使って柔軟に使用する必要があります
正規表現のサポートは、オープン ソース ソフトウェアである PCRE (Perl 互換正規表現) ライブラリによって提供されます。作者は Philip Hazel です (著作権)。英国ケンブリッジ大学。 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ から入手できます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
