[英]Match an email address which is before a specific word
我有一個正則表達式匹配javascript中的電子郵件地址。 讓我們看一個例子:
var email = "aaa@bbb.com (A,B); ccc@ddd.com (C,D); eee@fff.com (E,F);";
var emails = email.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
這將返回var電子郵件中的所有電子郵件。
現在,我有一個字符串:
var initials = "(A,B)";
我想在縮寫值之前只收到電子郵件;
如果var首字母是“(A,B)”,那么我只想獲得aaa@bbb.com電子郵件地址。
非常感謝你的幫助!
JavaScript的:
var input = "aaa@bbb.com (A,B); ccc@ddd.com (C,D); eee@fff.com (E,F);";
var initials = "(A,B)";
var email = input.match(new RegExp("([a-zA-Z0-9]+(?:[-._][a-zA-Z0-9]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*)(?=\\s*" + initials.replace(/([()])/g, "\\$1") + ")"))[0];
print(email);
輸出:
aaa@bbb.com
在這里測試此代碼。
無論你有這樣的“example@mail.com(A,B)”還是像這樣的“(A,B)example@mail.com”,你所要做的就是擁有唯一捕獲的第一部分和最后一部分字母。 因此,(A,B)應該被自動排除以捕獲正則表達式。
如果這不是問題,您可以隨時獲取正則表達式返回的文本,並使用replace將(A,B)更改為空,如下所示:
var regexresult=str.replace("(A,B)","");
該代碼將刪除該字符串,如果它存在,否則它將什么都不做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.