java - 如何使用正则表达式作为 stringtokenizer 的分隔符

标签 java regex

我想检索 |2~ 和 | 之间的字符串

使这项工作正常进行的正则表达式序列是什么?

据说我有 |2~21381030213jafjs231|adfafafasdfas 我正在使用

StringTokenizer test = new StringTokenizer(string, delim);

我试过了 StringTokenizer(string, "//|/2/~%s/|")//不起作用。

但它不起作用。

您能否详细说明正则表达式的工作原理(例如正则表达式序列的工作原理)?或者开始研究的好链接。

谢谢

最佳答案

如果您需要正则表达式,.*~(.*)\| 就可以了。这是一个 Regex 101 to prove it.现在,解释正则表达式,非常简单:

  • .* 告诉引擎匹配所有字符;
  • ~ 然后告诉引擎在找到 ~ 时停止;
  • (.*) 然后告诉引擎匹配所有字符并将它们分组为匹配项;
  • \| 然后最终告诉引擎匹配将停止分组的 |

但要学习正则表达式,have a look at this site ,它是网络上最好的之一。

关于java - 如何使用正则表达式作为 stringtokenizer 的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852318/

相关文章:

xml - 查找单个标签内n个相同的内部标签内容

Fedora 19 上的 C++11/g++4.8 regex_match 段错误

Javascript 相当于 Perl 的\Q ...\E 或 quotemeta()

regex - 在 URL 列表中查找域部分中的关键字

java - 什么是注解以及它们如何在 Spring 这样的框架中实际工作?

java - 为什么 IF 和 ELSE 情况都被执行?

java - 如何在 Struts2 中为操作创建别名

Java Slick2d - 如何将鼠标坐标转换为世界坐标

java - 如何从servlet向jsp页面发送参数

python - 使用正则表达式提取特定行下方的行上的数字?