Hyper Link : '(https?://[^\s)";]+\.(\w|/)*)'
https?:// => s 可有可無,所以可以是 http:// or https://
[^\s)";]+ => [^] 除了內容值以外的值,\s 空白,則表示非空白, ), ", ;,這邊可以考慮再加上 (,而 + 指至少出現 1 or 多次
\. => 不使用 Regular Expression 的 . (除換行外其他字符)
(\w|/)* => 在第一個 https:// 後的第一個 . 後,\w : 0-9, a-z, A-Z 或 /,* 可出現也可不出現
E-Mail : \w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]+$
\w+ : 任一字母、數字或下劃線 (_),且至少要出現一次
(-\w+) : - 後面接 任一字母、數字或下劃線 (_)
(\.\w+) : . 接任一字母
((-\w+)|(\.\w+))* : 可以是 - 後接任一值 or . 接任一值
\@ : 一定要有 @
[A-Za-z0-9]+ : @ 後可接 A-Z, a-z, 0-9 至少要有一值 or 多值
(\.|-) : 接 . or -
(\.|-)[A-Za-z0-9]+)* : . or - 後接 A-Z, a-z, 0-9 至少要有一值 or 多值
\.[A-Za-z]+$ : $ 表字串最後一定要是 . 接 A-Z, a-z 至少要有一值 or 多值
========================================
Above Info. Reference From Book:Deep in Python Web Crawler - China Machine Press (經通 Python 網路爬蟲 - 機械工業出版社 - 韋瑋)
========================================
IP Address : \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
\d : 0-9
{1,3} : 字數要 1~3 碼
"r" 的使用 : r'\d\d\d' 主要是省略 '\\d\\d\\d'
r : 將字符串記為原始字串,不用再包轉換自串 e.g. '\n' 要留下 \ => \\n,但使用 r'\n' 即可保留
python :
import re
phoneNumRegex = re.compile(r'\d\d\d\d\d\d\d\d')
phoneNumRegex2 = re.compile('\\d\\d\\d\\d\\d\\d\\d\\d')
mo = phoneNumRegex.search('Today is 20171121')
print(mo.group())
mo = phoneNumRegex2.search('Today is 20171121')
print(mo.group())
>>> 20171121
>>> 20171121
沒有留言:
張貼留言