Java 正则表达式。如何获得文本的 3 个不同部分?

标签 java regex regular-language

我在 java 中有这个很长的字符串

200/23/Ne7WoRK/3045022100d62568e28cb58b4a5308750e63e4690c4538ddc18>a9dc6075d02f7b4f942c4aa0220587350e7db1f4380a36ebb441906833563d32a62c4a>03cf334295615f981c47e

我想达到的是得到:

Bid: 200

Username: Ne7WoRK

Signature: 3045022100d62568e28cb58b4a5308750e63e4690c4538ddc18a9dc6075d02f7b4f942c4aa0220587350e7db1f4380a36ebb441906833563d32a62c4a03cf334295615f981c47e

我需要 3 个正则表达式来帮助我获得出价、用户名和签名的单独字符串。我不确定如何实现。我尝试使用以下正则表达式来解决这个问题

\b.*/\b

然而,这个正则表达式匹配了整个 3 个子部分并给出了这个的输出

200/23/Ne7WoRK/

我不确定如何创建 3 个不同的正则表达式,其中:

  1. 第一个将匹配从字符串开头到第一个“/”符号的任何数字。捐赠 200 串
  2. 第二个将匹配从第二个“/”符号到第三个“/”符号的任何字符。捐赠 Ne7WorK
  3. 第三个应该匹配从第三个“/”到字符串末尾的所有内容。 Giving the long number of - 3045022100d62568e28cb58b4a5308750e63e4690c4538ddc18a9dc6075d02f7b4f942c4aa0220587350e7db1f4380a36ebb441906833563d32a62c4a03cf334295615f981c47e

最佳答案

可以拆分

String a = "200/23/Ne7WoRK/3045022100d62568e28cb58b4a5308750e63e4690c4538ddc18>a9dc6075d02f7b4f942c4aa0220587350e7db1f4380a36ebb441906833563d32a62c4a>03cf334295615f981c47e";
System.out.println(Arrays.toString(a.split("/")));

结果

[200, 23, Ne7WoRK, 3045022100d62568e28cb58b4a5308750e63e4690c4538ddc18>a9dc6075d02f7b4f942c4aa0220587350e7db1f4380a36ebb441906833563d32a62c4a>03cf334295615f981c47e]

然后做一些其他的工作来得到想要的需求

关于Java 正则表达式。如何获得文本的 3 个不同部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55760648/

相关文章:

mysql - 字符更改MySQL后SQL提取数据

c - POSIX 正则表达式表示法以 @ 开头和结尾,正则表达式表示法包含字母数字字符但必须包含 _

javascript - 正则表达式 : Split line by ","

java - java 6 项目中的 onelogin java saml 2.0

java - 在浏览器上以图形方式显示路径/路线

Java8 : how to copy values of selected fields from one object to other using lambda expression

Mysql REGEXP 2 words -- 与 AND LIKE 相同

java - 从 servlet 打开 URL

regex - 多行正则表达式搜索和替换!

用于匹配 "ABAB"、 "AABB"、 "ABB"、 "AAB"、 "ABAC"和 "ABCB"的 C# 正则表达式