繁体   English   中英

Javascript RegEx中的if条件如何使用?

[英]How to use if condition in Javascript RegEx?

我正在尝试向Imagus Firefox Extension添加一些规则。 我想从Google Image Search中捕获图像参数,如果它包含字符串th_请将其删除并重定向。 否则,只需重定向即可。

这是我的RegEx

/^(?:(?:images|encrypted)\.)?google\.[^/]+/(?:imgres\?(?:[^&]+&)*?imgurl=)(.*)(?:th_)(.*)&imgrefurl=.*/gm

对于包含字符串th_ URL来说,它工作正常,但对于其他链接,它会中断。

这是我的工作的链接https://regexr.com/3omf5寻求帮助。

PS:请注意,示例中有两个链接。

经过一番斗争,我找到了答案。 正则表达式在扩展中可以正常工作。

答:

^(?:(?:images|encrypted)\.)?google\.[^/]+/(?:imgres\?(?:[^&]+&)*?imgurl=)(.*)(%2Fimages(?:[\d]{1,9})?%2F)(th_)?(.*)&imgrefurl=.*

这是答案的链接:
https://regexr.com/3omfh

(?:th_)之后添加* ,例如:

^(?:(?:images|encrypted)\.)?google\.[^/]+/(?:imgres\?(?:[^&]+&)*?imgurl=)(.*)(?:th_)*(.*)&imgrefurl=.*
^(?:(?:(?:images|encrypted)\.)?google\.[^/]+/(?:imgres\?(?:[^&]+&)*?imgurl=)(.*)(?:th_)(.*)&imgrefurl=.*)|(.+)

将您的网址与th_匹配并替换,或将整个网址与正则表达式周围的其他|(.+) (+ ^(?: ... ) )一起使用。 您需要将其替换为$1$2$3然后

暂无
暂无

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

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