需求是使用正则表达式获取一个字符串开始及结尾部分的数字。 例如:输入123ABC321, 获取开头的123 及结尾的321
1.JS写法
<script>
var inReg = new RegExp("[a-zA-Z\u4e00-\u9fa5]");
var inputContent = "123ABC321";
// 如果开始时数字
var regstart = new RegExp("^\\d+");
var regend = new RegExp("\\d+$");
var groupstart = inputContent.match(regstart);
var groupend = inputContent.match(regend);
alert("开始的数字:"+groupstart+" 结尾的数字"+groupend);
</script>
效果截图:
2.java写法
String name="123abc321";
// 开始包含数字
Pattern patternStart = Pattern.compile("^\\d+");
// 结尾包含数字
Pattern patternEnd = Pattern.compile("\\d+$");
Matcher matcherStart = patternStart.matcher(name);
Matcher matcherEnd = patternEnd.matcher(name);
System.out.println("字符串name是以数字开始,开始的数字是:"+matcherStart.group());
System.out.println("字符串name是以数字开始,开始的数字是:"+matcherStart.start());
System.out.println("字符串name是以数字开始,开始的数字是:"+matcherStart.end());
System.out.println("字符串name是以数字开始,剩余的部分是:"+name.substring(matcherStart.end(), name.length()));