繁体   English   中英

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

[英]string manipulation in regex

我在字符串操作上有问题

这是代码

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));

我得到的结果是“ MyOU1”,而不是“ MyOU1 Control”

请帮助谢谢

如果您还希望匹配空格字符,则需要在正则表达式中包括它。 \\w仅匹配单词字符,不包含空格。

Regex regex = new Regex(@"OU=[\w\s]+");

这匹配单词字符( \\w )和空格字符( \\s )。

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

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

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

要么

Regex regex = new Regex("OU=[^,]+");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM