如何使用原始Javascript提取HTTP URL?

时间:2018-09-03 08:19:32

标签: javascript regex

我想使用香草Javascript从以下字符串中提取第一 URL https://example.com/ccm/resource/itemName/com.ibm.team.workitem.Attachment/72306

var str = '<a href="https://example.com/ccm/resource/itemName/com.ibm.team.workitem.Attachment/72306" data-cke-rtc-autolink="true" data-cke-rtc-autolink-text="Anhang 72306" data-cke-rtc-autolink-url="/ccm/resource/itemName/com.ibm.team.workitem.Attachment/72306" class="jazz-ui-ResourceLink" id="jazz_ui_ResourceLink_23" widgetid="jazz_ui_ResourceLink_23">Anhang 72306</a>';

var pattern = /^http(.*?)(")/g;
var match = pattern.exec(str);
alert(match);

什么是好的搜索命令或正则表达式?请注意,我不想提取的字符串后面还有第二个类似URL的字符串。

1 个答案:

答案 0 :(得分:1)

它不是正则表达式,但这是一个解决方案:

var str = '<a href="https://example.com/ccm/resource/itemName/com.ibm.team.workitem.Attachment/72306" data-cke-rtc-autolink="true" data-cke-rtc-autolink-text="Anhang 72306" data-cke-rtc-autolink-url="/ccm/resource/itemName/com.ibm.team.workitem.Attachment/72306" class="jazz-ui-ResourceLink" id="jazz_ui_ResourceLink_23" widgetid="jazz_ui_ResourceLink_23">Anhang 72306</a>';

var url = str.split('href=')[1].substring(1).split('"')[0];
alert(url);

我首先在“ href =”上分割字符串,然后进行分割的第二部分,删除第一个引号,然后再次在引号上分割