正则表达式替换。用什么替换([^ |] + $)

时间:2017-11-09 21:11:15

标签: regex

([^|]+$)在斜杠" |"之后提取最后一个字符串。我应该使用什么替代来提取特定项目?

以下是我的例子:

https://regex101.com/r/kG5pN6/7

我尝试了$ 1,但输出了全文。我应该在“替换”字段中添加什么替换值才能获得Test

2 个答案:

答案 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