gpt4 book ai didi

java - 如何改进这个 Java 正则表达式?

转载 作者:行者123 更新时间:2023-12-01 12:07:05 25 4
gpt4 key购买 nike

我有三种格式的文本:

  1. 但 3:52-56
  2. 使徒行传 6:8-10、7:54-59
  3. 2 撒母耳记 15:13-30, 16:5-13

理想情况下,我希望能够提取所有,例如Dan,3、52 和 56 在任何情况下,我目前有:

/(\S*)\s(\d*):(\d*)-(\d*)($|,\s(\d*):(\d*)-(\d*))/gmix

..它有效,但不能很好地捕获第二种情况。有没有更好/更有效的方法来做到这一点?

最佳答案

试试这个:((?:\d*\s)?(?:\S*))\s(\d*):(\d*)-(\d*)(? :,\s(\d*):(\d*)-(\d*))? 或作为 java 字符串:"((?:\\d*\\s) ?(?:\\S*))\\s(\\d*):(\\d*)-(\\d*)(?:,\\s(\\d*):(\\d*)-(\\d*))?”

好的,刚刚编辑,所以“2 Sam”将在同一组中

注意:但是,执行此操作的最佳方法是了解输入字符串中每个元素的确切规范(如果可能),而不是仅使用 3 种可能性。

关于java - 如何改进这个 Java 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com