正则表达式匹配冒号后的字符串

Ice*_*man 6 c# regex

输入字符串是这样的:OU = TEST:This001.我们需要额外的"This001".最好的C#.

Col*_*ert 30

关于什么 :

/OU=.*?:(.*)/
Run Code Online (Sandbox Code Playgroud)

下面是它的工作原理:

OU=  // Must contain OU=
.    // Any character
*    // Repeated but not mandatory
?    // Ungreedy (lazy) (Don't try to match everything)
:    // Match the colon
(    // Start to capture a group
  .    // Any character
  *    // Repeated but not mandatory
)    // End of the group
Run Code Online (Sandbox Code Playgroud)

因为/它们是分隔符,可以知道正则表达式的起始位置和结束位置(以及添加选项).

捕获的组将包含This001.

但是简单一点就会更快Substring().

yourString.Substring(yourString.IndexOf(":")+1);
Run Code Online (Sandbox Code Playgroud)

资源:

  • +1解释什么意味着那里的任何人物,人们习惯给食谱而忘记解释.谢谢! (2认同)

Sir*_*bin 5

"OU ="闻起来像是在进行Active Directory或LDAP搜索并响应结果.虽然正则表达式是一个出色的工具,但我只是想确保您也了解用于解析,过滤和操作此类数据的优秀System.DirectoryServices.Protocols类.

特别是SearchResult,SearchResultEntry和DirectoryAttribute将是您可能正在寻找的朋友.我不怀疑你可以像下一个人那样聪明地使用正则表达式或子串,但是在工具箱中拥有另一个好工具也很好.

你试过这些课吗?