1

私は正規表現を初めて使用し、Webサイトからソースコードを解析する必要があります。文字列内の次のn文字が続く単語に一致する構文は誰か教えてもらえますか?

「country」という単語に続けて文字列内の次の15文字を一致させたいとします。

文字列が「...<trclass= "hover"> <td> country </ td> <td> RO </ td> </ t ......」の場合、「country </ td> <td> RO "、私はこのような文字列を扱うことができます。理想的には"国RO "だけですが、あまり多くを求めたくありません。

4

2 に答える 2

0

正規表現エンジンのフレーバーに応じて:

"country.{15}"

「国」と正確に一致し、その後に任意の種類の15文字が続く必要があります。

これは完全に一致することに注意してください。「country」という単語の後に正確に15文字がない場合、この一致は失敗します。それはあなたにとって問題になるかもしれません。

"country.{1,15}"

これは、「国」の直後に任意の文字(最大15文字)が続く場合に一致します。繰り返しますが、これもユースケースによっては問題になる可能性があります。

于 2013-01-26T23:47:50.017 に答える
0

何かのようなもの:(country)<\/td><td>(\.\.)

出力として$1$ 2を使用すると、必要なものが得られます。

説明:

  1. 何かの周りに()括弧を付けると、$1などでそれを逆参照できます。
  2. それ以外の場合は、正確な文字を一致させることができます。
  3. /のような特別な正規表現文字をバックスラッシュでエスケープすることに注意してください
  4. 括弧内の2番目の一致は、次の2つの文字が何であっても一致するだけです。サブセットがある場合は、これらを使用することをお勧めします(つまり、[A-Za-z])。

その仮定で、私は次のようなものを使用します:(country)<\/td><td>([A-za-z]{2})

また、適切なリファレンスを見つけるのに役立ちます:http: //www.regular-expressions.info/reference.html

于 2013-01-26T23:50:25.380 に答える