我想把我的re.findall(regex)转换成java。 我知道如何使用匹配和模式,但当我要找到多个regex模式时,我将不得不多次编译它。例如:
text = "-3-testing"
text_temp = re.findall("(.?\d+.)",text) # here one time
if len(text_temp) != 0:
if "-" in text_temp[0]:
text_temp = re.findall("(\d+.\d+)", text) #here second time
上面是我的python代码,但是如果我想转换成java,那就意味着我需要编译它2次,然后用文本再次匹配它,然后重新提取那些匹配。我想知道是否有一个更简短的方法做这件事
我想你已经回答了你的问题,除非我遗漏了什么
然后您可以根据需要使用Pattern的方法。 您可以编译任意多的模式,并使用它们生成尽可能多的匹配器
例如:
在那里,您可以使用Matcher来提取所有数据,逐步进行匹配、替换等等
至于有多个模式,你需要编译每个模式,除非你能把它们组合成一个。也许通过使用“alternatives”操作符“|”,或者使用更通用(或更具体)的模式。这就产生了一个问题,为什么regex只是为了在另一个步骤中对它进行更多的约束
也许你可以做这样的事,只吃一个
相关问题 更多 >
编程相关推荐