我有多行文本,格式如下。
您好{user},您因活跃超过 {y} 天而获得了 {x} 积分。
如何使用正则表达式提取这些特定变量?
例如-
john您好,您因活跃超过 2 天而获得 10 积分。
解压后,我应该从上面的行中得到 john(用户)、10(x)和 2(y)。
附: - 我正在使用 java,我需要使用正则表达式来完成它。
最佳答案
您可以使用以下正则表达式:
/Hello (\w+), you have been awarded (\d+) points? for being active for more than (\d+) days?\./
请注意,我在复数形式的“点”和“天”后面添加了问号,以防它们碰巧是单数。
我还假设用户名仅由单词字符组成;如果不是,则应相应更新 \w+
。
关于java - 如何使用正则表达式从句子中提取多个字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377130/