我想将GigabitEthernet0/1拆分为GigabitEthernet0/1
我尝试使用,

str.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");


但是没有得到正确的结果。我应该使用什么模式。第二部分不仅是数字,还包含“ /”。

在我的用例中,我可能还有GigabitEthernet0,可以将其拆分为GigabitEthernet0

什么是正确的正则表达式?

最佳答案

试试这个正则表达式

([a-zA-Z]+)([0-9\/.:]+)


它适用于

GigabitEthernet0/1 --> interface on chassis/card
GigabitEthernet0/1.1 --> interface with sub interface
Serial0/1/1:1.1 --> channelized serial/POS interface
GigabitEthernet0 --> interface on chassis (In some Cisco IOS devices)


例如https://regex101.com/r/eP7kL3/1

关于java - 基于Java中模式匹配的字符串拆分问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39553762/

10-10 06:51