正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123要求只匹配“4343244”这一段数字,排除两头以

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 17:31:37
正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123要求只匹配“4343244”这一段数字,排除两头以

正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123要求只匹配“4343244”这一段数字,排除两头以
正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?
例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123
要求只匹配“4343244”这一段数字,排除两头以#开头的

正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123要求只匹配“4343244”这一段数字,排除两头以
js:

var reg = /[^#\d](\d{5,8})(?=[^\d])/g;
var str = "#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123";
str.match(reg)[0].replace(/\D/,'');


java:
String str = "#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123";
String reg = "(?<!(#|\\d))\\d{5,8}(?=[^\\d])";
Pattern pattern = Pattern.compile (reg);
Matcher matcher = pattern.matcher (str);
while (matcher.find ())
{
    System.out.println (matcher.group ());
}