示例Sip URI
sip:[email protected]
sip:alice:[email protected];transport=tcp
sips:[email protected]?subject=project%20x&priority=urgent
sip:+1-212-555-1212:[email protected];user=phone
sips:[email protected]
sip:[email protected]
sip:atlanta.com;method=REGISTER?to=alice%40atlanta.com
sip:alice;[email protected]
正义表达式我创建了^(sip|sips):([^@]+)@(.+)
我想要实现的是@是可选的,如果@is之前和之后有什么东西应该在那里,否则在sip之后:任何东西都可以被接受
你可以用
^(sips?):([^@]+)(?:@(.+))?$
细节
^
- 字符串的开头(sips?)
- 第1组:sip
或sips
:
- 一个冒号([^@]+)
- 第2组:除@
以外的一个或多个字符(?:@(.+))?
- 一个可选的非捕获组:
@
- @
char
(.+)
- 第3组:除了换行符之外的任何0+字符,尽可能多$
- 字符串的结尾。注意:如果您使用.matches()
方法的模式,^
和$
是多余的,可以从模式中删除,因为该方法需要完整的字符串匹配。