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

时间:2018-04-24 12:50:51

标签: javascript regex

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

这是我的RegEx

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

它适用于包含字符串th_的URL,但对于其他链接,它会中断。

以下是我工作的链接https://regexr.com/3omf5请查看并提供帮助。

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

3 个答案:

答案 0 :(得分:2)

我在战斗结束后找到了答案。正则表达式在扩展中运行良好。

<强>答:

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

以下是回答的链接:
https://regexr.com/3omfh

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

size = 867
x = scipy.arange(size)
y = scipy.int_(scipy.round_(scipy.stats.vonmises.rvs(5,size=size)*60))
h = plt.hist(ser, bins=range(80))

dist_names = ['beta', 'rayleigh', 'norm']

for dist_name in dist_names:
    dist = getattr(scipy.stats, dist_name)
    param = dist.fit(ser)
    pdf_fitted = dist.pdf(x, *param[:-2], loc=param[-2], scale=param[-1]) * size
    plt.plot(pdf_fitted, label=dist_name)
    plt.xlim(0,100)
plt.legend(loc='upper right')
plt.show()

将您的网址与th_匹配并替换它,或者将整个网址与正则表达式附加的^(?:(?:(?:images|encrypted)\.)?google\.[^/]+/(?:imgres\?(?:[^&]+&)*?imgurl=)(.*)(?:th_)(.*)&imgrefurl=.*)|(.+) (+ |(.+))对齐。您需要将其替换为^(?: ... )然后