問題タブ [preg-match-all]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
388 参照

regex - preg_match を使用して特定のサフィックスを持つタグを見つける

PHP で正規表現を使用して、特定の方法で終了するタグを探しています。しかし、私の試みはすべて、結果が多すぎるか少なすぎるかのどちらかです。

たとえば、次の文字列では、'suffix' で終わるタグにある 'bar' に一致させたいと思います。

ただし、上記の行は 'foo> になります

0 投票する
1 に答える
222 参照

php - php preg_match_all、正規表現、特定の値を抽出

案内広告の Web サイト ( http://trademe.co.nz/Trade-Me-Motors/Cars/Toyota/Hiace/auction-300294634.htm ) で質問をするユーザーを抽出しようとしています。いくつかの理由で、私が使用しているパターンが常に機能するとは限らないので、完璧な正規表現で私を助けていただければ幸いです。これが私の現在のコードです

パターンの html タグが原因でコードが正しく表示されないようですので、ここで確認できますhttp://pastebin.com/iPxizy5X

0 投票する
1 に答える
126 参照

php - preg_match 式のヘルプ

これを理解できないようです。リンク URL 内の特定の変数名の照合を試みているだけです:

これから variable=name を取得するにはどうすればよいですか?

ありがとう!

0 投票する
2 に答える
108 参照

php - なぜpreg_match_allは非常に多くの文字の後にうんちを出すのですか?

preg_match_allステートメントに問題があります。記事を入力している間は完全に機能していますが、一定の長さを超えると突然、すべての機能が停止します。これは、非常に多くの文字の後で何も実行されないという関数の既知の問題ですか?

これはずっと正常に機能しており、他のページでも正常に機能しますが、その記事が一定の長さを超えると、その記事では機能しなくなります。より長いテキストブロックで機能させるために使用できる別の解決策はありますか?処理中の記事の長さは約33,000文字(スペースを含む)です。

私は以前にこのような質問をしましたが、実際にテストしたことのない答えは1つしかありませんでした。前回、その特定のシナリオでそれを回避する別の方法を見つけましたが、今回はすべて1つの記事であるため、回避する方法はありません。を変更してみpcre.backtrack_limitましpcre.recursion_limitたが、50万までもまったく効果がありませんでした。これが発生している理由と、これらの巨大なテキストブロックに対しても機能し続けるために私ができることについて他に何かアイデアはありますか?30,000文字の制限は少し低いようです。これは、わずか5,000〜6,000語です(これは約5,700語です)。2つの別々のテキストブロックにある場合、開始と停止が見つからないため、ここで分割することは実際にはオプションではありません。

0 投票する
2 に答える
787 参照

php - preg_match_all:なぜ「これ」は一致するのに、「それ」は一致しないのですか?

したがって、私は基本的に、オブジェクトタグ内(およびオブジェクトタグを含む)のすべてを次のように一致させようとしています。

これに一致するものが見つかります:

しかし、これとは一致しません:

なぜですか?洞察をありがとう。


ETA:私のアプローチはそもそも間違っていたかもしれないので、これが私がやろうとしていることの背景です。

これはWordpressサイト用です。ショートタグを完全なビデオ埋め込みコードに変換するプラグインを使用しています。プラグインは最近(ありがたいことに)コードをより有効にするために更新されました。

私が作成しようとしている関数は、投稿内の最初のビデオオブジェクトを見つけて、サイトの他の場所で使用するためにそれを取得することです。

関数全体は次のとおりです(Wordpressを使用した場合にのみ意味をなすものもあります)。

0 投票する
1 に答える
890 参照

php - 正規表現-特定のタグ内の特定の単語を取得します

私は自分自身をPHPの「初心者」とは考えていませんが、正規表現はまだ私にとって新しいものです。

コメントのリストを受け取るCURLを実行しています。すべてのコメントには次のHTML構造があります。

私が欲しいのは単純です。preg_match_allから、この特定のDIVタグに「cool」という単語が含まれるコメントを取得したいと思います。

私がこれまでに持っているもの:

悲しいことに、これは機能しません。ただし、正規表現が単純な場合は#\bcool\b#Uis機能します。しかし、私は本当にそれらのタグで「クール」という言葉をキャプチャしたいと思います。

2つの正規表現(1つはすべてのコメントを取得し、もう1つはそれぞれをフィルタリングして「クール」という単語をキャプチャする)を実行できることは知っていますが、1つのpreg_match_allでこれを実行するにはどうすればよいでしょうか。

私は解決策から遠くはないと思いますが、どういうわけか私はそれを見つけることができません。何かが間違いなく欠けています。

お時間をいただきありがとうございます。

0 投票する
2 に答える
193 参照

php - txt doc から複数のパターンを抽出する方法

件名と電子メール アドレスを含む URL を一覧表示するテキスト ドキュメントがあります。件名と電子メールアドレスを含むすべての URL を抽出し、これをすべて csv ファイルに入れる必要があります。これを行うために正規表現を使用する方法を知る必要があります。現在、すべての URL を抽出できますが、それらに関連付けられた電子メールと件名が必要です。これは私がこれまで取り組んでいるものです:

ファイル構造:

件名: URL

電子メール: someemail@email.com

ソース URL: http://www.google.com

0 投票する
2 に答える
543 参照

php - 正規表現パターンをキーとして配列に割り当てます

正規表現の配列があり、テキスト ドキュメントをループして最初のパターンを見つけようとしています。それをキーとして配列に割り当て、次に 2 番目のパターンを見つけて値として割り当てます。パターン 1 に遭遇するたびに、それを常にキーとして割り当て、新しいキーに遭遇するまでパターン 2 のすべての一致がその最初のキーに値として割り当てられるようにします。

テキスト ドキュメントの構造:

だから私は式の配列を持っています:

テキストドキュメントをループしてメールアドレスを照合し、それをキーとして配列に割り当て、それに続くすべての URL を値として割り当てます。上記のテキストへの出力は次のようになります。

0 投票する
3 に答える
3270 参照

php - 正規表現アンカータグ

私はphpを使用していますが、アンカータグからhrefをテキストで解析するのに問題があります。

例: test を持つアンカータグhttp://www.test.com

このような<a href="http://www.test.com" title="test">http://www.test.com</a>

アンカータグ内のすべてのテキストに一致させたい

前もって感謝します。

0 投票する
4 に答える
3055 参照

php - 実際に一致させたいものの後に *すべて* 一致する正規表現を停止します!

私は正規表現全体にまったく慣れていないので、PHPで実行しようとしましたが、これは私が望んでいた結果のようなものですが、問題は、私が実際に望んでいたもののpreg_match_allのすべてに一致することです...のように:

文字列:This is something <code>Some code here</code> and more 正規表現からの一致: 正規表現<code>Some code here</code> and more からの一致:<code>Some code here</code>

私が使用している正規表現は次のとおりです。 /<code>(.*)<\/code>/

開始区切り文字と終了区切り文字に関係があると思いますが、/完全にはわかりません。

どんな助けでも大歓迎です、ありがとう!