正则表达式该怎么写?

Gouki_cool 2017-03-17 02:13:51
Regex 提取字符,请问高手应该怎么写最简单:
有以下种类字符串:

Tree D 0.5
Tree001
Tree 001
Tree (1)
Tree (1)
Tree H 1.5
Tree001 (1)
现在要提取Tree出来,Tree为长度不定且中间可能有空格的字符串。

请问正则表达式该怎么写?如果一条正则不能完成可以分多条。
主要是想学习高手们的正则书写思路,所以最好有思路和正则写法(最好附上调过的C#代码,因为在Mtracer上好像跟C#上出来结果有差异)。谢谢指导!
...全文
343 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gouki_cool 2017-03-25
  • 打赏
  • 举报
回复
更正一下,忘了 TrDee 的情况了。 规则改为:D、H、(前必须有空格就行了 Regex r = new Regex(@"(\s+)?(\s+D|\s+H|\s+\(|[0-9]).+");
Gouki_cool 2017-03-25
  • 打赏
  • 举报
回复
最后使用: Regex r= new Regex(@"(\s+)?[DH\(0-9].+"); string str = r.Replace(TreeStrings, ""); 问题转化为:把D、H、(、数字开始,往后所有字符选中,替换为“”即可。 谢谢各位!
Gouki_cool 2017-03-22
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
谢谢!你图片显示的结果就是我想要的。 不过我用Match Tracer用你的表达式试不出来,还没写成代码试,请问是否有你那个测试软件的下载地址?
EnForGrass 2017-03-20
  • 打赏
  • 举报
回复
引用 9 楼 Gouki_cool 的回复:
[quote=引用 2 楼 Chinajiyong 的回复:] 要提取Tree出来是提取Tree这个单词么?
Tree只是一个例子,Tree是一个字符串,可能带空格,但不带数字或其他特殊字符。[/quote] var parttent ="(\w+\s*)[DH0-9\(].*?"; Groups[1].Value
xuzuning 2017-03-18
  • 打赏
  • 举报
回复
Gouki_cool 2017-03-18
  • 打赏
  • 举报
回复
引用 4 楼 liushiying18 的回复:
只要后面的数字吗?
准确来说,只要前面的Tree,把后面那些出现的D,H,空格,数字都去掉。 特征就是Tree后必定只由 空格,特殊字符,数字开始。
Gouki_cool 2017-03-18
  • 打赏
  • 举报
回复
引用 2 楼 Chinajiyong 的回复:
要提取Tree出来是提取Tree这个单词么?
Tree只是一个例子,Tree是一个字符串,可能带空格,但不带数字或其他特殊字符。
Gouki_cool 2017-03-18
  • 打赏
  • 举报
回复
引用 1 楼 tangfengray 的回复:
不可能写出来吧,你自己都说了Tree为长度不定且中间有空格的字符串,那你这几个示例有区别吗? 都是长度不定的字符串啊。 Tree 和 Tree D 有区别吗 ? 没有吧 。
区分字母D,因为D就是D不代表其他字符
hihitv 2017-03-17
  • 打赏
  • 举报
回复
Tree(?=[\s\S]?)
threenewbee 2017-03-17
  • 打赏
  • 举报
回复
\d+(\.\d+)
liushiying18 2017-03-17
  • 打赏
  • 举报
回复
只要后面的数字吗?
  • 打赏
  • 举报
回复
你是要提取tree后面的数字还是咋的?
EnForGrass 2017-03-17
  • 打赏
  • 举报
回复
要提取Tree出来是提取Tree这个单词么?
堂风 2017-03-17
  • 打赏
  • 举报
回复
不可能写出来吧,你自己都说了Tree为长度不定且中间有空格的字符串,那你这几个示例有区别吗? 都是长度不定的字符串啊。 Tree 和 Tree D 有区别吗 ? 没有吧 。
皮特胖胖 2017-03-17
  • 打赏
  • 举报
回复
首先还是要找特征啊,楼主提供的几个示例不知道分别需要匹配哪些内容,包不包含数字。。 这边有教程,写的比较好,楼主可以学习一下先。 http://deerchao.net/tutorials/regex/regex.htm

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧