繁体   English   中英

冒号后匹配文字

[英]Match text after colon

我想在“ type:”之后匹配单词。

我有的?

我的实际模式 :(?<= type \\ s:\\ s)(\\ w *)

文字 :“类型:文字”

当我在颜色之前/之后只有一个空格时,它完全可以按我的要求工作...

“ type_SPACE _:_ SPACE_text

但是,如果我有2个空格或全无,则无法使用。

我已经尝试过了,但是不匹配。 (?<=类型\\ s *:\\ s *)(\\ w *)

另外,我尝试使用这种最佳方法。 但是与此匹配的文本包含冒号。

(?<=类型)(\\ s *):(\\ s *)(。*)(?=,)

要进行测试,我使用gskinner的测试仪... http://gskinner.com/RegExr/

如果您使用C#并使用随附的Regex引擎进行此操作,则只需稍作修改即可使用原始的正则表达式:

        string myString = "type :  something";

        var match = Regex.Match(myString, @"(?<=type\s*:\s*)\w+");

        Console.Write(match);

编辑:为什么?<=type\\s*:\\s*)\\w*版本不适用于多个空格,是因为正则表达式匹配很高兴在变量后返回带有0个字符的字符串的各种组合冒号后面的空格数。

您可以使用Regex.Matches查看各种匹配的字符串,您会看到匹配的单词在其中,但这并不是第一个结果。

暂无
暂无

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

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