gpt4 book ai didi

javascript - 令人费解的正则表达式匹配怪异

转载 作者:行者123 更新时间:2023-12-02 05:52:31 27 4
gpt4 key购买 nike

var creatingidmatch='website.com'.match(/.idv.tw|.firm.in|.gen.in|.nom.es|.nom.co|.me.uk|.net.ag|.net.br|.net.bz|.net.co|.net.in|.net.nz|.com.ag|.com.br|.com.bz|.com.co|.com.es|.com.mx|.com.tw|.org.ag|.org.tw|.org.in|.org.uk|.org.nz|.org.es|.co.in|.co.uk|.co.nz|.asia|.mobi|.info|.com|.org|.net|.jobs|.biz|.xxx|.ca|.mx|.tv|.ws|.ag|.am|.at|.be|.bz|.cc|.de|.es|.eu|.fm|.fr|.gs|.in|.it|.jp|.ms|.nl|.nu|.se|.tc|.tk|.tw|.vg|.me|.co|.us/gi);
alert(creatingidmatch);

返回

sit,.com

“坐”从何而来?? (或者更确切地说,为什么它返回我的字符串的“坐”部分?)

最佳答案

sit 部分来自正则表达式的这一部分:.it。正则表达式中的 . 匹配任何内容(换行符除外)。因此 . 匹配 sit 匹配后面的 it。你需要逃避 .如果你想让它匹配一个 .文字

\.it

由于 | 之后的每个项目都以 . 开头,您可以通过匹配第一个后跟所有后缀来稍微简化正则表达式。这是更新后的正则表达式

/\.(idv\.tw|firm\.in|gen\.in|nom\.es|nom\.co|me\.uk|net\.ag|net\.br|net\.bz|net\.co|net\.in|net\.nz|com\.ag|com\.br|com\.bz|com\.co|com\.es|com\.mx|com\.tw|org\.ag|org\.tw|org\.in|org\.uk|org\.nz|org\.es|co\.in|co\.uk|co\.nz|asia|mobi|info|com|org|net|jobs|biz|xxx|ca|mx|tv|ws|ag|am|at|be|bz|cc|de|es|eu|fm|fr|gs|in|it|jp|ms|nl|nu|se|tc|tk|tw|vg|me|co|us)/gi;

关于javascript - 令人费解的正则表达式匹配怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322824/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com