java使用单个正则表达式从一个字符串中提取几个子字符串
作为输入,我得到一个字符串,比如“0123456789@site.com“。所有部分都是可变的。唯一的规则是前面的位数总是10,然后有“@”。 我需要一个正则表达式,它允许我提取“12345”(即从位置2到6的数字)和“site.com”子字符串。例如,在上述情况下,结果可能是“12345site.com”或“12345:site.com”。 可以用一个正则表达式来实现吗? 我们如何跳过第一个数字,以及从第7位到第10位和“@”的数字? 如有Java示例,将不胜感激
# 1 楼答案
如果我没听错的话,这个正则表达式就行了
然后使用
连接组
Java代码:
# 2 楼答案
专门针对您的输入模式:
\d{1}(\d{5})\d*@(.*)