ディレクトリ
1.空白のメタ文字
メタキャラクタ | 説明 |
[\ B] | Backspaceキー |
\ F | 改ページ |
\ nは | 復帰 |
\ rを | 改行 |
\トン | Tabキー |
\ V | 垂直タブ |
Bを\する2つの文字を表す場合、単語の境界と一致し、一致した単語の前に満たされなければならなかった、我々は説明する」\ bのRにする必要があります。
キャリッジ・リターンおよび改行感覚機能は、情報の一部は、いくつかの通訳を示すであろう見て、同じである\ rが自動的N \に変換し、正規表現\ rをする\ n「はキャリッジリターンラインフィード」組み合わせ、Windowsシステム、この組み合わせに一致しますテキスト、UnixおよびLinuxは、\ rを追加することはできませんマッチング時間\ n個の\ nをして、テキストを1行だけの改行文字を使用したとして終了タグ。
2.特定の文字が一致
メタキャラクタ | 説明 |
\ dは | ([0-9]に相当)の任意の数字 |
\ D | ([^ 0-9]に相当)の任意の数字以外の文字 |
\ワット | いずれか1つの英字または下線文字(すなわち、[-ZA-Z0-9_]) |
\ W | 任意の非英字または下線文字(すなわち、[^-ZA-Z0-9_]) |
\ sの | 任意の空白文字 |
\ S | 任意の非空白文字 |
大文字と小文字は反対の文字に一致します。
3. 16進数と8進数に一致
正規表現では、16進数の値は、\ X0AはASCII文字10(ラインフィード)に対応するように、プレフィックスの\ Xを使用するように、効果は、N- \に等しい、オクタルプレフィックスがASCIIに対応\ 0として\ 011であり、図9(タブフー)
必要性はテキスト自体\と\\を一致させる際に、上記のような一般的にエスケープ文字に使用される1 \文字が一致します
2.文字は任意の単一文字、文字、数字、さらには自分自身にマッチします
3. +文字は1文字以上、前の文字に一致するように、同じ感覚で文字または文字セットと一致した後、
4. *文字は、「+」の使用と同様、ゼロ以上の文字にマッチするだけで、文字の試合の前に発生しないことがあります
?文字は、このようなURLは、httpとhttpsのが、正規表現のhttpsを合わせるときのように、彼の前に文字が存在して一致しましたか?
6. @ - エスケープ文字を使用する必要はありません
文字の関数の上記の説明では、我々は、マッチング+または*を繰り返すことができるが、限界があり、繰り返しの数を制限することができないので、それは正確な数を設定し得、次いで、{}、例えば、ページを識別するために使用テキストのRGB値は次のとおりです。
< ボディBGCOLOR = "#336655" テキスト= "#FFFFFF" >
正規表現:#[0-9A-FA-F] {6}の結果:#336655 #FFFFFF
、2005/01 / 01,2006-1-10,19.08.15,18 88、最後の1は、少なくとも二桁の年、要件を満たしていない:など、あなたが書かれた形式の日付を確認したい場合は、その一例と一致し6回繰り返します繰り返しの最小および最大数を設定する必要があります、
正規表現:\ dの{2,4} - \ dは{1,2} - \ dは{1,2}最終結果が一致しないように満たしていない、[\ / \] [\ / \。]チェックが完了しています。
我々は繰り返しの限られた数と一致することができましたが、状況があり、様々なラベルの内部Webページには、内部のコンテンツ<A> </a>を見つけるために、例えば、複数回表示されますが:テキスト:
<a>网页</a><a>新闻</a><a>贴吧</a><a>知道</a><a>音乐</a><a>图片</a><a>视频</a><a>地图</a><a>文库</a>
正则表达式:<a>.*</a> 匹配结果是整一串,<a>网页</a><a>新闻</a><a>贴吧</a><a>知道</a><a>音乐</a><a>图片</a><a>视频</a><a>地图</a><a>文库</a>,而我们理想是每个标签都会分开
修改为:<a>.*?</a> 结果显示9个匹配:<a>网页</a>、<a>新闻</a>、<a>贴吧</a>、<a>知道</a>、<a>音乐</a>、<a>图片</a>、<a>视频</a>、<a>地图</a>、<a>文库</a>
+、*都是“贪婪型”元字符,在匹配行为模式上是多多益善而不是适可而止,所以它的“懒惰性”版本则尽可能短的匹配,式子后加上?
1.URL地址
<a href="https://www.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=">网页</a> <a href="http://news.baidu.com/" nslog="normal" nslog-type="10600112" data-href="http://news.baidu.com/ns?tn=news&cl=2&rn=20&ct=1&fr=bks0000&ie=utf-8&word=">新闻</a> <a href="https://tieba.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://tieba.baidu.com/f?ie=utf-8&fr=bks0000&kw=">贴吧</a> <a href="https://zhidao.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://zhidao.baidu.com/search?pn=0&&rn=10&lm=0&fr=bks0000&word=">知道</a> <a href="http://music.baidu.com/" nslog="normal" nslog-type="10600112" data-href="http://music.baidu.com/search?f=ms&ct=134217728&ie=utf-8&rn=&lm=-1&pn=30&fr=bks0000&key=">音乐</a> <a href="http://image.baidu.com/" nslog="normal" nslog-type="10600112" data-href="http://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=">图片</a> <a href="http://v.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://www.baidu.com/sf/vsearch?pd=video&tn=vsearch&ie=utf-8&rsv_spt=17&wd=">视频</a> <a href="http://map.baidu.com/" nslog="normal" nslog-type="10600112" data-href="http://map.baidu.com/m?ie=utf-8&fr=bks0000&word=">地图</a> <a href="https://wenku.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://wenku.baidu.com/search?lm=0&od=0&ie=utf-8&fr=bks0000&word=">文库</a>
正则表达式:https?://[\w.]+.com
2.电子邮件地址
My QQ mail is [email protected], and another mail is [email protected]
正则表达式:(\w+)*@\w+\.com
在实际运用正则表达式中,很多需要根据文本特点写出最合适简单的式子,比如爬取网页的目标信息,一个好的正则表达式能帮我们简单地解决问题。