1、怎麼用正則表達式提取電子郵箱的賬戶名和域名?
網上找一個郵箱的正則,然後把@前面的和後面的用括弧括起來,就可以吧賬戶名和域名分到分組里了,可以用\1 \2進行引用,或者程序庫提供的其他功能引用
2、JS 利用正則提取文本內郵箱地址
\b[A-Za-z0-9._%+-]+\s?@\s?(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6}\b
3、如何用正則表達式提取一個網站裡面的所有郵箱地址?
用正則表達式提取一個網站裡面的所有郵箱地址
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.*;
public class MyRegex {
public static void main(String[] args) {
try {
//讀取網頁文件,裡面有N個郵箱地址
String content = read("e:/1.htm");//read()方法在下面
//匹配郵箱的正則表達式
String regex="//w+([-+.']//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*";
Matcher m=Pattern.compile(regex).matcher(content);
while(m.find()){
//輸出郵箱地址
System.out.println(m.group());
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 讀取文本內容
* @param fileName 文本名稱,包括路徑
* @return 返迴文本內容
*/
public static String read(String fileName) throws IOException{
BufferedReader br=new BufferedReader(new FileReader(fileName));
StringBuilder sb=new StringBuilder();
String s;
while((s=br.readLine())!=null)
{
sb.append(s);
sb.append("/r/n");
}
br.close();
return sb.toString();
}
}
4、如何獲得頂級域名正則
?
5、在JS中,如何用正則取郵箱伺服器地址
var reg = /^[^@]+@([^.]+)..*$/;
var str = "AAAAAA @ 163.com";
console.log(str.replace(reg, "$1"));
6、正則表達式取根域名
^
7、PHP正則表達式如何檢測現有的正確郵箱域名後綴?
這個是IT群里的朋友!我不去群里了,在這里幫你把問題解決了吧!
其實嚴格說來,正則表達式只是一個模型匹配,所以直接使用模型匹配時我們有一個高通原理,也就是說匹配出來的內容是要大於你所需要的內容。就比此題來說,後邊可以匹配任何一個合規則的內容,而不可能精確地直接是你想要的內容——這就是高通,如果非要匹配到你想要的內容,使用正則運算有時是非常不合適的!所以這里不建議你使用這方式,或者是部分使用這種方式的形式。
高通就是通過你不全是你想要的,但你想要的一定全在里邊。
那麼,為什麼不考慮使用ajax的方式呢?後台自己設計一會資料庫,@前半段使用正則表這式,扣後半段直接使用數據存儲的內容,這樣可以精確到任何一個你想要的。
因為這里你想要的與不想要的其實也很模糊,你也不知道ckk這個域名在以後是不會被啟用!那麼你可以使用資料庫方式,由管理員自由添加!不用去修改那將來的表達式的!
但事實上很少人用這種方式——他們都在使用注冊時郵箱認證的方式,也就是說,發到你郵箱里一封信,輔助你完成注冊,這種情況雖然是高通,其他實他只是方便用戶能輸入正確,而不是要的確信數據,任何設計都要記著這句話——任何客戶端的信息都是不可信的!就算用JS完成了正則,那麼如果對方有意屏掉您的JS這十分容易的!所以你的正則根本不是用來驗證,而是方便用戶。
正是這種原因,高通的理由也是其存在的一個原因!就算使用了我說的資料庫,利用ajax來檢查,那麼別人照樣可以讓你的ajax不工作,而且,不是伺服器通過了,郵箱就一定有人注冊的!所以從這方面上來講,資料庫的實現意義也不大!
根據js的特點,客戶端的驗證沒有必要太這於麻煩,就算是服務端的驗證,建議你的也只採用這種方式即可。沒有使用資料庫的必要的——這個代價與達到的效果是不成比例的!
說完了,其實等於我也不解決!