我想将GigabitEthernet0/1
拆分为GigabitEthernet
和0/1
。
我尝试使用,
str.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");
但是没有得到正确的结果。我应该使用什么模式。第二部分不仅是数字,还包含“ /”。
在我的用例中,我可能还有
GigabitEthernet0
,可以将其拆分为GigabitEthernet
和0
。什么是正确的正则表达式?
最佳答案
试试这个正则表达式
([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/