[英]Exclude the word matched in email or URL when using JavaScript regular expression match full word
我正在嘗試找出JavaScript正則表達式以僅匹配完整單詞,但如果該單詞是電子郵件或URL的一部分,則將其排除。
例如,我們有以下文字是我的代碼
var str ='
this is my myname
my email is myname@email.com
another email is support@myname.com
and my site is www.myname.com.au';
function match(text, str) {
var pattern = "(?=\\s|^|\\b)(?:" + text + ")(?=\\s|$|\\b)";
var regexp = new RegExp(pattern, "ig");
while ((match = regexp.exec(str)) != null) {
var offsetStart = parseInt(match.index);
var offsetEnd = parseInt(regexp.lastIndex);
var selectText = match.toString();
console.log("offset start " + offsetStart + " offset end " + offsetEnd + " matched text " + selectText);
}
}
match('myname', str);
我想要的是我要匹配第1行中的文本“ myname”,排除文本“ myname@email.com”,“ support@myname.com”和“ www.myname.com.au”。
謝謝,
這不是一個可靠的解決方案,但可以認為它是一個很好的起點。
var str =` this is my myname my email is myname@email.com another email is support@myname.com and my site is www.myname.com.au`; const matches = str.match(/myname(?!\\w*[@.])/g); console.log(matches)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.