https://www.example.com/uk/This-Part-I-Need-To-Get/F1ST2/sometext/
需要得到"这部分 - 我需要获得",与" - "在wordstart的符号和大写字母。 我设法做的就是" /([A-Z - ])\ w + / g",返回
"这" " -Part" " -I" " - 需要" " -To" " - 获得" " F1ST2",但我不需要" F1ST2"。 我该怎么办?
答案 0 :(得分:1)
可能取决于网址格式,但此时:
var url = 'https://www.example.com/uk/This-Part-I-Need-To-Get/F1ST2/sometext/';
console.log(url.split('/')[4])
答案 1 :(得分:0)
正如@MichałSałaciński所说,你应该考虑使用split
函数。
顺便说一句,如果你不想使用正则表达式,那么如果url格式没有改变,那么这个表达式将起作用:[^\/]+(?=(?:\/\w+){2}\/)
var re = /[^\/]+(?=(?:\/\w+){2}\/)/
var url = "https://www.example.com/uk/This-Part-I-Need-To-Get/F1ST2/sometext/"
if(re.test(url)) {
// URL match regex pattern, we can safely get full match
var value = re.exec(url)[0];
console.log(value);
}
<强>解释强>
[^\/]+
任何字符,但斜线 n 次
(?=...)
其次是
(?:\/\w+){2}\/
斜线和任何单词字符(2次)然后斜杠
解决方案2
这个也适用于捕获的第1组::\/\/[^\/]+\/[^\/]+\/([^\/]+)
var re = /:\/\/[^\/]+\/[^\/]+\/([^\/]+)/;
var url = "https://www.example.com/uk/This-Part-I-Need-To-Get/F1ST2/sometext/";
if(re.test(url)) {
// URL match regex pattern, we can safely get group 1 value
var value = re.exec(url)[1];
console.log(value );
}
答案 2 :(得分:0)
试试这个正则表达式
/([A-Z][a-z]|-[A-Z]|-[A-Z][a-z]-|-[A-Z]-)\w+/g
这是 SNIPPET
var url = 'https://www.example.com/uk/This-Part-I-Need-To-Get/F1ST2/sometext/';
console.log(url.match(/([A-Z][a-z]|-[A-Z]|-[A-Z][a-z]-|-[A-Z]-)\w+/g).join(''))