regex 找到所有不是float或it的内容,并将其用作split方法中的分隔符

dbf7pr2w  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(104)

正则表达式中的浮点数和整型数可以写成-\d+.?\d,但是如何找到不适合的内容,并在Split等方法中将其用作分隔符。
我知道这个表达式?!表示否定匹配,但是我不知道如何将它用于复杂的表达式。我试着将它用于各种组合,但没有结果。

unguejic

unguejic1#

正如@Booboo在他的评论中提到的,在一个分割函数中,最好只匹配浮点数而不是非浮点数文本作为分隔符。
通常,您会使用前向否定Assert进行拆分。
像这样

(?:(?![-+]?(?:\d+(?:\.\d*)?|\.\d+)).)+

https://regex101.com/r/UHQRBO/1

(?:
    (?!
       [-+]? 
       (?:
          \d+ 
          (?: \. \d* )?
        | \. \d+ 
       )
    )
    . 
 )+

这没有考虑指数或其他因素。
仅涵盖可选符号整型或浮点型。

相关问题