简体   繁体   English

Regx for Domain with'www'或没有'www'

[英]Regx for Domain with 'www' or without 'www'

I want to search domain name from given string. 我想从给定的字符串中搜索域名

Lorem www.example.in ipsum #web-developer dolor sit amet, consectetur adipiscing elit. Lorem www.example.in ipsum #web-developer dolor sit amet,consectetur adipiscing elit。 Donec suraj@mishra.com consequat sem eros, et volutpat google.com lacus dignissim ac. Donec suraj@mishra.com consequat sem eros,et volutpat google.com lacus dignissim ac。 Pellentesque ac nisl et erat porta feugiat. Pellentesque ac nisl et erat porta feugiat。 +91-141-2561894 Vestibulum #web_designing sodales semper stackoverflow.com + 91-141-2561894 Vestibulum #web_designing sodales semper stackoverflow.com

what I have tried 我试过的

(www.)?[^@]\w+\.+\w{2,3}

its return me 5 matches www.exa mple.in mishra.com google.com stackoverflow.com where I only want 3 bold matches. 它返回了我的5场比赛www.exa mple.in mishra.com google.com stackoverflow.com我只想要3个大胆的比赛。

can you guys please help me to find out what I am doing wrong ? 你能帮助我找出我做错了吗?

Here is a RegEx101 test 这是RegEx101测试

 console.log("Lorem www.example.in ipsum #web-developer dolor sit amet, consectetur adipiscing elit. Donec suraj@mishra.com consequat sem eros, et volutpat google.com lacus dignissim ac. Pellentesque ac nisl et erat porta feugiat. +91-141-2561894 Vestibulum #web_designing sodales semper stackoverflow.com".match(/(www.)?[^@]\\w+\\.+\\w{2,3}/g)) 

One of possible ways (requires PCRE ): 一种可能的方法(需要PCRE ):

\b(?<!@)(?:www\.)?[^@\s]+\.\w{2,3}
  • \\b(?<!@) - ignoring email domains like ...@mishra.com \\b(?<!@) - 忽略电子邮件域名,如...@mishra.com

https://regex101.com/r/knOchH/5 https://regex101.com/r/knOchH/5

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM