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=[^,]+");