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

标签 java regex pattern-matching

我有多行文本,格式如下。

您好{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/

相关文章:

java - 使用 dijktras 算法(Java)从航点到航点的 2 个机场之间的最短路径

java - Elasticsearch 找不到 JAVA_HOME 或 Java,即使这两者都存在

Javascript 正则表达式与 RegExp 对象、循环内的实例

javascript - 如何在函数中使用此正则表达式验证输入?

sql - 正则表达式和配置单元

c++ - 在 OpenCV vc++ 中比较两个图像中的特征

sql - PostgreSQL - 使用模式匹配连接表

java.sql.SQLFeatureNotSupportedException : Unsupported feature

java - BufferReader.skip()性能

android - 存储和比较 android 传感器(加速度计)数据集以匹配模式