gpt4 book ai didi

java - 匹配模式,除非匹配是空字符串

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

我有一个Java中的正则表达式,它似乎适用于所有具有内容的实例,但它不仅仅是将实例与内容相匹配;它还匹配空字符串。由于我正在匹配的数据,正则表达式的所有“部分”都必须是可选的,但是据我所知,无法指定如果一个部分不存在,则另一部分必须 存在,反之亦然(大多数时候,两个部分都存在)。

我当前的正则表达式:(-?[0-9]*)(x\\^?([0-9]*))?

重复一遍,当它匹配现有字符时,这是有效的。我只是想防止它匹配字符之间的空字符串,这会导致我的方法的其余部分失效。

编辑:我正在使用的特定测试字符串:“4x^5+x^4+2x^3-16x^2+3x-1000”

最佳答案

尝试这个模式

(?=[0-9x-])((?:-?[0-9]*)(?:x\\^?(?:[0-9]*))?)

通过添加必须与您的条件相匹配的前瞻(?=[0-9x-])
Demo

关于java - 匹配模式,除非匹配是空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34868177/

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