如何编写正则表达式以使用c#中的正则表达式从字符串中获取子字符串?

时间:2015-08-27 07:42:55

标签: c# regex string

我有以下字符串

string s=@"\Users\Public\Roaming\Intel\Wireless\Settings"; 

我想要输出字符串

string output="Wireless";

我希望的子字符串应该在“Intel \”之后,它应该以“Intel”后的第一个“\”结束在字符串Intel之前和Intel之后字符串可能不同。 我用string.substring()实现了它,但我想用正则表达式来实现它?我应该写什么正则表达式来获取该字符串。

2 个答案:

答案 0 :(得分:3)

对于正则表达式解决方案,您可以使用:

(?<=intel\\)([^\\]+?)[\\$]

Demo

注意i标志。

BTW,Split比正则表达式更简单,更快速。正则表达式与字符串的模式相关联。对于静态/固定字符串结构,使用字符串函数操作它是明智的解决方案。

答案 1 :(得分:1)

如果您想要 intel /

之后的所有内容,也可以使用此功能
/(?:intel\\)((\w+\\?)+)/gi

http://regexr.com/3blqm

您需要$1结果。请注意,如果字符串不包含Intel /或其后的任何内容,$ 1将为空或不存在。