我是正则表达式的新手,并想知道如何在最后一个之后收集所有内容/.
我正在提取Google的GData使用的ID.
我的示例字符串是
http://spreadsheets.google.com/feeds/spreadsheets/p1f3JYcCu_cb0i0JYuCu123
Run Code Online (Sandbox Code Playgroud)
身份证号码是: p1f3JYcCu_cb0i0JYuCu123
哦,我正在使用PHP.
我想写一个正则表达式,它将从最后一个“斜杠”“/”到右边的字符。
示例 1:http://thesite.com/tester/blabla/this_is_the.jpg - 我只想提取“this_is_the.jpg” 示例 2:http://thesite.com/tester/blabla/this_is_2.jpg - 只有“ this_is_2.jpg"
通过这篇文章,我找到了一种获取斜杠后字符串最后一部分的方法。
我需要对此进行稍微修改:
我可以使用一个正则表达式来匹配“倒数第二个反斜杠之后的所有内容”。
我重写了原来的内容以使用反斜杠,如下所示:
([^\\]+$)
Run Code Online (Sandbox Code Playgroud)
我编写了这段代码并进行了测试
public static string TrimTrail(this string value, string pattern)
{
var regEx = new Regex(pattern);
var result = regEx.Match(value);
return result.Value;
}
[Test]
public void TestOfTrimmingTrail()
{
//Arrange
var stringToTest = @"0001 Lorem ipsum dolor sit\011 tortor neque\ 0111\interdum magn";
var pattern = @"([^\\]+$)";
//Act
var result = stringToTest.TrimTrail(pattern);
//Assert
Assert.AreEqual(" 0111\\interdum magn", result);
}
Run Code Online (Sandbox Code Playgroud)
但由于我一直无法弄清楚“倒数第二个”要求,所以它只返回
Expected string length 19 but was 13. Strings differ at index 0.
Expected: " 0111\\interdum magn"
But …Run Code Online (Sandbox Code Playgroud)