需求是使用正则表达式获取一个字符串开始及结尾部分的数字。 例如:输入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()));