如何 return 匹配正则表达式的 javascript 字符串的一部分?

How to return part of javascript string that matches regex?

我有一个正则表达式字符串,它与我需要的字符串的特定部分相匹配 here

/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g

我想在 javascript 中使用这个正则表达式来去除字符串中与正则表达式不匹配的部分,然后将结果存储在一个变量中。我似乎找不到任何方法来做到这一点!

我在 JS 中发现的唯一正则表达式函数是 compile()、exec()、test() 和 toString()。 None 这些似乎符合我的需要。我该怎么做?

谢谢

使用string.match函数将return所有匹配的字符作为数组元素。

string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)

如果要删除匹配的部分,请使用 string.replace

var s = string.replace(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g, "")

执行此操作的方法是使用 string.match() 函数,如 Mozilla Developer Page.

中所示

所以,你的函数调用看起来像

string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)

如果您打算去除任何不匹配的内容,那么您可以使用

string.replace(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g, ''),如图here,然后存入另一个变量。