仅使用正则表达式匹配所有单词

时间:2015-03-30 07:10:42

标签: javascript regex json

我正在尝试设置一个ShareX自定义引擎,在上传后我会获得完整的网址,例如http://foo.com/HF139hR,我可以将该字符串与regex一起使用,然后再将其复制到剪贴板。我想要做的只是获取网址的最后一部分HF139hR,这样我就可以把它扔进另一个网址,比如http://foo.com/?viewer=HF139hR。到目前为止,我使用表达式\w+$来获取它,但有时我会收到上传错误,这也会得到错误消息的最后一个字并将其传递给?viewer=

进行我的研究我找到了\bfoo.com\/\K\S+,这正是我想要的,但遗憾的是javascript不支持。

2 个答案:

答案 0 :(得分:1)

  

\ bfoo.com/ \ķ\ S +

\bfoo.com\/(\S+)

您可以使用类似的内容并抓住group 1capture 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 ,以便查看匹配信息。