質問

私の正規表現では、サンプル テキスト内では、大文字と小文字の a ~ z、数字、特殊文字を含むあらゆる文字が許可されると言いたいのです。

たとえば、正規表現はドキュメントが html であることをチェックしているとします。したがって:

"/\n<html>[]+</html>\n/"

[]+ を試してみましたが、これは気に入らないようです?

役に立ちましたか?

解決

使用する [XXX]+ の間にある任意の文字を意味します [ そして ], 、1回または複数回。

ここでは間に文字を入れていません [ そして ] -- それが問題です。


「任意の文字」と言いたい場合は、 .
注記 :デフォルトでは、改行には一致しません。一緒に遊ばなければなりません パターン修飾子 そうしたいなら。

任意の文字を言いたい場合は、次を使用できます。

  • 小文字の場合: [a-z]
  • 大文字の場合: [A-Z]
  • 両方のための : [a-zA-Z]

そして、数字の場合:

  • [0-9] :任意の数字
  • [a-zA-Z0-9] :任意の小文字または大文字、および任意の数字。


その時点で、おそらく次のものを見てみるとよいでしょう。

  • バックスラッシュ PCRE マニュアルのセクション
  • そして、特に、 \w メタ文字、「任意の単語文字」を意味します。


その後、次のような正規表現を使用し始めると、

/.+/s

一致するはずのもの:

  • 考えられる任意の文字
    • 改行を含む
  • 1回以上

期待したときにも「停止」しないことがわかります。これは、デフォルトでマッチングが貪欲であるためです。 ? 後に +, 、または U 修飾子 ;を参照してください 繰り返し 詳細については、セクションを参照してください。


そうですね、実際にやるべき最善のことは、 投資する しばらくして、すべての内容を注意深く読んでください PCRE パターン 正規表現の使用を開始したい場合は、マニュアルのセクションを参照してください ;-)


ああ、ところで、ところで: 正規表現を使用して 解析する HTMLはダメですね…

一般に、次のような DOM パーサーを使用する方がはるかに優れています。

他のヒント

ドット.は「任意の文字」

のメタ文字です
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top