質問
私の正規表現では、サンプル テキスト内では、大文字と小文字の 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 パーサーを使用する方がはるかに優れています。
他のヒント
ドット.
は「任意の文字」
所属していません StackOverflow