【问题标题】:Matching all digits between a parenthesis and comma in Java匹配Java中括号和逗号之间的所有数字
【发布时间】:2015-03-09 13:38:05
【问题描述】:

如果我在文本文件中有以下行,我想浏览该文本文件:

animal=2043 猪(23, Arthur)

我想解析出 23 并将其存储在变量“age”中(因此使用正则表达式来获取左括号和逗号之间的数字)。 我想存储 Arthur (字符串 b/w 逗号和结束括号在变量“名称”中。 而且我还想解析出他的动物编号(2043)并将其存储在一个名为“动物编号”的变量中。 到目前为止,对我有用的是 (", 匹配 (23,

【问题讨论】:

  • 您似乎忘记在问题中包含问题。
  • 您似乎知道regex可以帮助您,那么问题出在哪里?你的代码不能正常工作吗?我们可以看看你的尝试吗?您是否尝试过使用组(甚至可能是命名组)?
  • 我希望你的括号不要递归。
  • 只需使用MatcherPattern 和正则表达式^animal\=([0-9]+).*\(([0-9]+), ([a-zA-Z]+)\)$
  • 这很好用,谢谢!我怎么才能得到 (2043, 23, Arthur) 的数组呢?我不希望结果中出现动物这个词,只需要上面的数组。

标签: java regex comma parentheses


【解决方案1】:

如有疑问:http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

快速测试:http://www.regexplanet.com/advanced/java/index.html

我会选择简单的“( 和 \, 之间的内容”

 \((.*?)\,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多