如何解析字符串以使用正则表达式排除特殊字符

时间:2014-06-25 11:13:06

标签: regex

我有一个字符串为ex。 "驱动器C:磁盘使用"。 "之后的一切:"是我想用正则表达式提取的文本。 (这里,它的"磁盘使用") 我用这个正则表达式解析它:  :[^:].* 但它认为":"我也不想要。 如何更改我的正则表达式,以便它匹配"之后的任何文本:" 请帮忙。

2 个答案:

答案 0 :(得分:2)

使用积极的外观,

(?<=:).*

它匹配:之后的所有字符。

<强>解释

  • (?<=)积极向后看。
  • .*匹配任何字符(除了换行符)零次或多次。

DEMO

:\K[^:].*

<强>解释

  • :文字:
  • \K用于丢弃之前匹配的字符。(即:
  • .*任何字符(除了换行符)零次或多次。

DEMO

答案 1 :(得分:-1)

一些选项

积极的外观

(?<=:).*

否定(这应该更快)

[^:]*$

匹配后的所有内容:之后,因为我们使用了结束分隔符。