此([^|]+$)
在斜杠" |"之后提取最后一个字符串。我应该使用什么替代来提取特定项目?
以下是我的例子:
https://regex101.com/r/kG5pN6/7
我尝试了$ 1,但输出了全文。我应该在“替换”字段中添加什么替换值才能获得Test
答案 0 :(得分:0)
使用积极的外观应该可以提高效率。
在C#中,
var ans = Regex.Replace(str, @"(?<=\|)([^|]+)$", @"{$1}");
答案 1 :(得分:0)
斜杠是正则表达式中的特殊字符,您需要转义特殊字符才能将它们用作普通字符。 要在字符串中最后一次出现斜杠后提取任何尾随字符,可以使用以下正则表达式:
\|+([^|]+$)
你在javascript中的例子是:
"https://mediatemple.net||Test".match(/\|*([^|]+$)/)
// Array [ "||Test", "Test" ]
然而,这样一个简单的任务不需要使用过度使用的正则表达式,并且可能会影响应用程序的性能。 使用正常的字符串操作就足以满足您的需求:
var s = "https://mediatemple.net||Test",
i = s.lastIndexOf("|"),
m = i !== -1 ? s.substr(i+1) : null;
console.log(m); // Test