我的文件包含某些数据,如::
/ Pages 2 0 R / Type / Catalog / AcroForm
/ Count 1 / Kids [3 0 R] / Type / Pages
/ Filter / FlateDecode / Length 84
获取此输出的正则表达式是什么..
Pages Type Catalog AcroForm Count Kids Type Pages Filter FlateDecode Length
我想在'/'&之后获取字符串在第二个'/'或空格之前。
提前致谢。
答案 0 :(得分:5)
class Program
{
static void Main()
{
string s = @"/Pages 2 0 R/Type /Catalog/AcroForm
/Count 1 /Kids [3 0 R]/Type /Pages
/Filter /FlateDecode/Length 84";
var regex = new Regex(@"[\/]([^\s^\/]*)[\s]");
foreach (Match item in regex.Matches(s))
{
Console.WriteLine(item.Groups[1].Value);
}
}
}
备注:不要使用正则表达式来解析PDF文件。
答案 1 :(得分:3)
\/[^\/\s]+
\/
- 斜线(逃脱)
[^ ]
- 不包含...的字符类(^
)
\/
- ...斜线...
\s
- ......或空格
+
- 其中一个或多个
答案 2 :(得分:1)
这是c#:
@"/([^\s/]+)"
你可以在这里测试它只是添加引号之间的内容: http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
答案 3 :(得分:1)
我不会使用正则表达式,我发现使用字符串操作更具可读性:
string[] lines = input.split(@"\");
foreach(string line in lines)
{
if(line.contains(" "))
{
// Get everything before the space
}
else
{
// Get whole string
}
}