Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 链接的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 链接的正则表达式

Javascript 链接的正则表达式,javascript,regex,Javascript,Regex,我需要修剪这个字符串->并且我确实需要字符串的这一部分/ixdebude/ix 我有两个表达式来解决我的问题 我的第一个正则表达式-> /(.*)\/(.*)(\/)(.*)\/*/g返回数组[5]组 我的第二个正则表达式-> /(\/………)$(.*?)$/g返回/ixdebude/ix 你们中有人能给我另一个没有千点的更好的正则表达式吗?你们可以试试这个 var parser = document.createElement('a'); parser.href = "http://examp

我需要修剪这个字符串->并且我确实需要字符串的这一部分/ixdebude/ix

我有两个表达式来解决我的问题

我的第一个正则表达式->

/(.*)\/(.*)(\/)(.*)\/*/g
返回数组[5]组

我的第二个正则表达式->

/(\/………)$(.*?)$/g
返回/ixdebude/ix

你们中有人能给我另一个没有千点的更好的正则表达式吗?

你们可以试试这个

var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";

parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.search;   // => "?search=test"
parser.hash;     // => "#hash"
parser.host;     // => "example.com:3000"

您可以使用这样的正则表达式:

//.*?(/.*)

对于javascript,您可以使用:

var re = /\/\/.*?(\/.*)/; 
var str = 'http://hokuspokus/ixdebude/ix';
var m;

if ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}

为什么不直接使用
split
?另外,该链接/字符串不是有效的URL。如果您的正则表达式需要支持有效的URL,您可能需要解决这个问题。另外-ixdebude/ix部件有什么特别之处?是域名后的第一部分吗?或者别的什么?你事先知道域名是什么吗?这将使它变得微不足道,并且不需要任何正则表达式。此外,您应该看到这个问题/答案。如果您了解如何访问信息,您的第一个正则表达式可能会做您想做的事情:这是一个非常令人困惑的问题。您可以直接使用
”http://hokuspokus/ixdebude/ix“.match(/\/ixdebude\/ix/)
。了解多个需要匹配的案例会很有帮助。它总是两段并且总是在结尾吗?然后您可以使用
/\/[^/]+\/[^/]+$/
。它总是紧跟在url之后吗?一个字符串中可能有多个匹配项吗?是的,不幸的是,不是我的。功劳归于-。只要把代码放在这里,以防被删除。