用正则表达式忽略句子的一部分

时间:2015-03-16 21:18:56

标签: regex sas

我要做的是用正则表达式忽略句子的一部分。 我正在努力获得这句话的最后一个值:

  

Gleason得分3 + 4 = 7

重要的是,这只是更大图片的一部分,所以正则表达式得到了句子的这一部分,但为什么我要找的只是得到值7.

现在我有了这个正则表达式来标记整个句子:

Gleason score\s+\d.\d.\d

有什么特别的,所以我只能获得最新的价值吗?

感谢。

3 个答案:

答案 0 :(得分:1)

你可以使用这种模式

[^=]+$

说明:

[^=]            # Character not in [=] class
+               # (one or more)(greedy)
$               # End of string/line

答案 1 :(得分:0)

您可以使用具有正面lookbehind的正则表达式:

(?<==)\d+

<强> Working demo

enter image description here

您可以通过执行以下操作来使用捕获组捕获结果:

(?<==)(\d+)

答案 2 :(得分:0)

你正在寻找的是一个后视:

(?<=Gleason score \d.\d.)\d

或者,如果您想要捕获的任何内容需要变长(例如\s+\d+),您将不得不使用捕获组而不是利用第1组:

Gleason score\s+\d+.\d+.(\d+)