如何使用正则表达式返回特定前缀后的文本?

时间:2017-08-30 15:52:52

标签: regex

我正在使用名为Firemon的应用程序,它使用正则表达式从各个字段中提取文本。我不确定它使用的正则表达式的具体版本,我无法在文档中找到对此的引用。

我的原始文本将始终采用以下格式:

CM: 12345 
APP: App Name 
BZU: Dept Name 
REQ: First Last 
JST: Text text text text.

CM将始终是一个整数,JST将是可能跨越多行的句子,其他字段将是由1-2个单词组成的字符串 - 并且每个部分后总是返回。

应用程序Firemon让我为每个字段创建一个正则表达式条目。寻找每个前缀然后返回的简单方法应该有效,因为我在每个值之后返回。我尝试了几种变体,例如" BZU:\ s *(。*)",但似乎找不到有用的东西。

编辑:要清楚我试图在每个前缀后获取值。 Firemon每个领域都有一个部分。 " APP"例如是一个领域。我需要一个正则表达式的例子来找到" APP:"然后返回文本。所以像正则表达式一样简单,它可以识别" APP:",然后在返回之前抓取所有内容,并且在返回之前可能会有效。

2 个答案:

答案 0 :(得分:1)

您可以使用(?=\w+ )(.*)

正向前瞻将从匹配组中删除前缀和空格字符,并且您将在每个匹配中获取空格后的文本。

答案 1 :(得分:0)

我玩游戏有点迟了,但是也许这仍然是一个问题。 在FireMon的最新版本中,提供了示例正则表达式。例如:

  

jst:\ s *([^;] ?)\ s ;

将匹配:

  

jst:这里有什么;

并导致

  

这里的任何东西