Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式中的字符串操作_C#_Asp.net_Regex_String - Fatal编程技术网

C# 正则表达式中的字符串操作

C# 正则表达式中的字符串操作,c#,asp.net,regex,string,C#,Asp.net,Regex,String,我在字符串操作方面有问题 这是密码 string str = "LDAP://company.com/OU=MyOU1 Control,DC=MyCompany,DC=com"; Regex regex = new Regex("OU=\\w+"); var result = regex.Matches(str); var strList = new List<string>(); foreach (var item in result) { strList.Add(item

我在字符串操作方面有问题

这是密码

string str = "LDAP://company.com/OU=MyOU1 Control,DC=MyCompany,DC=com";
Regex regex = new Regex("OU=\\w+");
var result = regex.Matches(str);
var strList = new List<string>();
foreach (var item in result)
{
    strList.Add(item.ToString().Remove(0,3));
 }
 Console.WriteLine(string.Join("/",strList));
string str=“LDAP://company.com/OU=MyOU1 Control,DC=MyCompany,DC=com”;
正则表达式正则表达式=新正则表达式(“OU=\\w+”;
var result=regex.Matches(str);
var strList=新列表();
foreach(结果中的var项目)
{
strList.Add(item.ToString().Remove(0,3));
}
Console.WriteLine(string.Join(“/”,strList));
我得到的结果是“MyOU1”,而不是“MyOU1控制”


请帮助,谢谢

如果您希望空格字符也匹配,则需要将其包含在正则表达式中<代码>\w仅匹配不包含空格的单词字符

Regex regex = new Regex(@"OU=[\w\s]+");
这将匹配单词字符(
\w
)和空白字符(
\s


(字符串前面的
@
只是为了方便起见:如果使用它,就不需要转义反斜杠。)

要么在允许的列表中添加空格(\w不允许空格),要么使用逗号可以用作分隔符的知识

Regex regex = new Regex("OU=(\\w|\\s)+");


作为将来的参考,@-前缀字符串使用逐字字符串的名称。
Regex regex = new Regex("OU=[^,]+");