如何使用正则表达式从句子中提取多个字符串值?

时间:2016-07-14 14:37:23

标签: java regex pattern-matching

我有以下格式的多行文字。

您好{user},您已被授予{x}积分超过{y}天的积极性。

如何使用Regex提取这些特定变量?

e.g。 -

你好 john ,你已经获得 10 积分,因为你的活动时间超过 2 天。

提取后,我应该从上面的行获得john(用户),10(x)和2(y)。

P.S。 - 我正在使用java,我需要使用正则表达式完成它。

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式:

validate

请注意我在复数形式的"积分"之后加入了问号。和"天",以防它们碰巧是单数。

我也假设用户名只包含单词字符;如果没有,/Hello (\w+), you have been awarded (\d+) points? for being active for more than (\d+) days?\./ 应相应更新。