-1

我有这个字符串:“Cooper_Johnson-Biloxi-01-Maqueta_Completa_176.max” 问题是我需要将它分成这些变量:

  1. 客户:“Cooper_Johnson”
  2. 项目:“比洛克西”
  3. 在制品编号:“01”
  4. 场景名称:“Maqueta_Completa”
  5. 内部副本:“176”

我知道如何通过通常的字符串变量查找字符,除法等,但我真的很想学习使用正则表达式来处理这些东西,我想问一下是否有人有时间为此编写模式并描述步骤该模式的每个部分。

我使用http://gskinner.com/RegExr/这个 RegEx 测试器,这是一个非常酷的东西,但我缺乏使用它的正则表达式知识。您还可以推荐任何有关正则表达式的手册吗?也许一些从最简单到高级的教程?非常感谢提前!

4

3 回答 3

3

您可以使用命名捕获:

@"^(?<client>[^-]+)-(?<project>[^-]+)-(?<WIP>\d+)-(?<sceneName>.*?)_(?<internalCopy>\d+)\.max$"

这种模式没有什么特别之处:

[^-]   character class containing all characters but -

(?<toto>..) named capture (toto here)

^ $    anchors for begining and end of the string

.*?    all characters zero or more times (lazy quantifier) 
于 2013-06-25T19:00:38.427 回答
0

传奇的RegexLib怎么样。查找、学习和欺骗正则表达式

于 2013-06-25T19:07:24.003 回答
0

这里有一些方向

http://www.RegexHero.com是一个针对字符串测试正则表达式的好地方。

C# Regex Sheet是 c# regex 的备忘单/指南

Dot Net Perls这里是在 c# 中开始使用正则表达式的好地方

正则表达式上的 MSN 页面

(但是您可以使用 String.Split() 并且几乎完全拥有您想要的,除了最后两个)

于 2013-06-25T19:01:10.633 回答