我已经试过以下至REGx(Java字符串格式)正则表达式组不起作用:为什么
^(.*(iOS\\s+[\\d\\.]+|Android\\s+[\\d\\.]+)?.*)$
字符串匹配是:
Some Money 2.6.2; iOS 5.1.1
它假设返回三组:
group[0] :Some Money 2.6.2; iOS 5.1.1
group[1] :Some Money 2.6.2; iOS 5.1.1
group[2] :iOS 5.1.1
但它实际上返回这些:
group[0] :Some Money 2.6.2; iOS 5.1.1
group[1] :Some Money 2.6.2; iOS 5.1.1
group[2] :null
当我改变正则表达式如下
^(.*(iOS\\s+[\\d\\.]+|Android\\s+[\\d\\.]+).*)$
但它不能像
whatever iS 5.1.1 whatever
我想要实现的是正则表达式返回三组不管什么字符串匹配字符串likes.The第一组和第二组始终是整个字符串。第三组是匹配'(iOS | Android)[\ d。] *'的子字符串,如果字符串包含该部分,并且如果不包含,则为空或空。
它与第二组不匹配,因为它是可选的,'。*'已经占用了整个字符串。 –
我试图用正则表达式解决问题。现在我有两个问题。 – Joshua
您可以使用['^(*((。?。iOS版| Android版)\ S + \ d] +)*)$'](https://regex101.com/r/OLlDoN/1) – anubhava