有没有办法在Java Regex中包含DOT但不包含Double Integer?

我有

String prog = "public class HelloWorld {\n" + "public static void main.(String[] args) int b = 0.5 \n"

(这是字符串中main之后的点(。)是有目的的)

在这里,我需要将字符串整体分成以下部分-

  1. 公开
  2. 课程
  3. HelloWorld
  4. {
  5. 公共
  6. 静态
  7. void
  8. 主要
  9. 字符串
  10. [
  11. ]
  12. args
  13. int
  14. b
  15. =
  16. 0.5

数字和。仅供参考(即1.,2.,11。)。输出必须是组件

我将split()与\\ s +一起使用,并在符号的断言前和后看:-
(+-* / [);]。

String[] words = prog.split("\\\s+|((?<=])|(?=]))|((?<=\\[)|(?=\\[))|((?<=\\()|(?=\\())|((?<=\\))|(?=\\)))|((?<=[-+*/=;.])|(?=[-+*/=;.]))");

请原谅。任何压缩将不胜感激。

提供组件非常好,但是尝试拆分main时。分为main和。同时保持0.5不变,我使用的表达式((? / = ;.])|(?= [-+ / = ;.]))不起作用。

它分隔主要。分为main和。还要0.5到0和。和5

我需要0.5才能保持为0.5,即double在拆分main时保留为double。分为main和。

请向我提供一个正则表达式,以用字符串分隔句点,但完整保留双精度整数。

dahom 回答:有没有办法在Java Regex中包含DOT但不包含Double Integer?

通过使用具有以下模式的正式正则表达式模式匹配器,我能够接近您的预期输出:

SparseTensor

此模式与单个符号tf.math/negative匹配,或者与非符号字符(也不是空格字符)匹配零次或多次。

[\\[\\]{}()+/*-]|[^\\s\\[\\]{}()+/*-]+

此打印:

[]{}()+/*-

请注意,解决此问题的最佳方法可能是编写某种Java解析器,该解析器可以根据需要逗弄组件。我的解决方案无法轻松在其他Java代码段上运行。

,

要匹配文字点,您需要对其进行转义,因此validate 对于0.5,您可以使用

\.
本文链接:https://www.f2er.com/3079538.html

大家都在问