This is an important example about regex for my work.
子串我可以提取关于正则表达式与此(?<=an).*?(?=for)
片断重要的例子。 Reference
但我想提取字符串从右到左。根据这个问题的例子,第一个位置必须是(for)第二个位置必须是(an)。
我的意思是提取过程回到途径。
我试过我想要做的下面的代码在其他情况下,但它不工作。
public string FnExtractString(string _QsString, string _QsStart, string _QsEnd, string _QsWay = "LR")
{
if (_QsWay == "LR")
return Regex.Match(_QsString, @"(?<=" + _QsStart + ").*?(?=" + _QsEnd + ")").Value;
else if (_QsWay == "RL")
return Regex.Match(_QsString, @"(?=" + _QsStart + ").*?(<=" + _QsEnd + ")").Value;
else
return _QsString;
}
在此先感谢。
编辑
我的真实的例子如下
#Var|First String|ID_303#Var|Second String|ID_304#Var|Third String|DI_t55
当我传递了两个字符串我的方法(例如“| ID_304” 和 “#Var |”)我想提取“第二个字符串”但这个例子是我的真正的字符串的小宁静,我的字符串是可改变的。
看到这个http://stackoverflow.com/questions/378415/how-do-i-extract-a-string-of-text-that-lies-between-two-brackets-using-net – Zaki 2013-03-05 11:45:08
谢谢,但该建议部分相似。我想提取字符串回来的方式。 – Kerberos 2013-03-05 11:52:19
也许这是一个选项,以扭转字符串和开始和结束字符串,然后再与正则表达式匹配? – 2013-03-05 11:53:44