样例Sip URI
sip:alice@atlanta.com
sip:alice:secretword@atlanta.com;transport=tcp
sips:alice@atlanta.com?subject=project%20x&priority=urgent
sip:+1-212-555-1212:1234@gateway.com;user=phone
sips:1212@gateway.com
sip:alice@192.0.2.4
sip:atlanta.com;method=REGISTER?to=alice%40atlanta.com
sip:alice;day=tuesday@atlanta.com我创建的正则表达式^(sip|sips):([^@]+)@(.+)
我试图实现的是“是可选的,如果”之前和之后有什么“应该在那里”,否则在“小口”之后:任何事情都可以接受。
发布于 2019-03-25 11:46:21
你可以用
^(sips?):([^@]+)(?:@(.+))?$见regex演示。
详细信息
^ -字符串的开始(sips?) -第一组:sip还是sips: -一个冒号([^@]+) -组2: 1或更多字符( @除外)(?:@(.+))? -一个可选的非捕获组:@ -a @ char(.+) -第3组:除行中断字符以外的任何0+字符,尽可能多
$ -字符串的末端。注意:如果在.matches()方法中使用模式,则^和$是多余的,可以从模式中删除,因为该方法需要一个完全的字符串匹配。
https://stackoverflow.com/questions/55336959
复制相似问题