用于在c#中划分字符串的Regexp模式
本文关键字:Regexp 模式 字符串 划分 用于 | 更新日期: 2023-09-27 18:20:03
我有这个字符串:"Cooper_Johnson-Bioxi-01-Maqueta_Completa_176.max"问题是,我需要将其划分为以下变量:
- 客户:"Cooper_Johnson"
- 项目:"碧洛克西"
- 在制品编号:"01"
- 场景名称:"Maqueta_Completa"
- 内部副本:"176"
我知道如何通过常用的字符串变量(查找字符、除法等)来实现这一点,但我真的想学习使用正则表达式来处理这些事情,我想问是否有人有时间为这一个编写模式,并逐步描述该模式的每一部分。
我曾经http://gskinner.com/RegExr/这个RegEx测试仪,这真的很酷,但我缺乏使用RegEx的知识。你能推荐任何关于RegEx的手册吗?也许是一些从最简单到高级的教程?提前感谢!
您可以使用命名捕获:
@"^(?<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)
以下是的一些方向
http://www.RegexHero.com是针对字符串测试regex的好地方。
C#RegexSheet是C#regex的备忘单/指南
Dot-Net Perls这里是从c#中的regex开始的好地方
Regex 上的MSN页面
(但是您可以使用String.Splitt(),除了最后2个之外,几乎可以得到您想要的东西)
legendry RegexLib怎么样。查找、学习和作弊Regex