我正在尝试设置一个ShareX自定义引擎,在上传后我会获得完整的网址,例如http://foo.com/HF139hR
,我可以将该字符串与regex一起使用,然后再将其复制到剪贴板。我想要做的只是获取网址的最后一部分HF139hR
,这样我就可以把它扔进另一个网址,比如http://foo.com/?viewer=HF139hR
。到目前为止,我使用表达式\w+$
来获取它,但有时我会收到上传错误,这也会得到错误消息的最后一个字并将其传递给?viewer=
。
进行我的研究我找到了\bfoo.com\/\K\S+
,这正是我想要的,但遗憾的是javascript不支持。
答案 0 :(得分:1)
\ bfoo.com/ \ķ\ S +
\bfoo.com\/(\S+)
您可以使用类似的内容并抓住group 1
或capture 1
答案 1 :(得分:1)
您可以使用此正则表达式:/\/(\w+)(\?+.*)*$/
并获取()
之间的捕获组,这将避免上传错误的部分,该错误以?
开头,如示例`?viewer中所示= $ 1 $,你可以在这里试试:
var url="http://foo.com/HF139hR?=viewer=$1$";
var reg=/\/(\w+)(\?+.*)*$/;
alert(url.match(reg)[1]);

如果你只使用url="http://foo.com/HF139hR"
作为网址,它也会匹配相同的内容。
您可以查看正则表达式 DEMO ,以便查看匹配信息。