我有以下格式的多行文字。
您好{user},您已被授予{x}积分超过{y}天的积极性。
如何使用Regex提取这些特定变量?
e.g。 -
你好 john ,你已经获得 10 积分,因为你的活动时间超过 2 天。
提取后,我应该从上面的行获得john(用户),10(x)和2(y)。
P.S。 - 我正在使用java,我需要使用正则表达式完成它。
答案 0 :(得分:2)
您可以使用以下正则表达式:
validate
请注意我在复数形式的"积分"之后加入了问号。和"天",以防它们碰巧是单数。
我也假设用户名只包含单词字符;如果没有,/Hello (\w+), you have been awarded (\d+) points? for being active for more than (\d+) days?\./
应相应更新。