正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 02:02:59
正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?
例如:#3132132fyffafhjht发送发送放大4343244hh24ff#32323133323213123123
要求只匹配“4343244”这一段数字,排除两头以#开头的
例如:#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 ());
}
再问: 虽然不太懂,但功能基本上实现了。只是还有一点点瑕疵。就是匹配的不是纯数字,还带了数字前边的一个文字
再答: 如果是js的话,没有前向声明,java有,所以办得到
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 ());
}
再问: 虽然不太懂,但功能基本上实现了。只是还有一点点瑕疵。就是匹配的不是纯数字,还带了数字前边的一个文字
再答: 如果是js的话,没有前向声明,java有,所以办得到
正则表达式,不匹配以#开头的5到8位的数字,只匹配5到8位的纯粹的,连续的数字,怎么写?
正则表达式匹配括号当中的数字
求一正则表达式,匹配6~18位的英文、数字、下划线
正则表达式:匹配不以.tmp 结尾的正则表达式怎么写
匹配只有一位小数和一位整数的正则表达式也就是匹配0.1到9.9之间的任意一个数字
正则表达式如何匹配1位数字?
正则表达式匹配3个连续的数字或字母,如123 abc
正则表达式 检查数字范围,怎么匹配一个 1-65535的数字字符串?
java写一个正则表达式,可以匹配尾号5连的手机号.规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任
正则表达式问题: [1,9][0-9]{0,2} 可以匹配 1到三位的合法数字 我现在想加上 对零的匹配.
/* abc */ /*abc*/ /* abc abc */ 匹配如上的正则表达式如何写(就是想匹配以/*开头和*/结
写一个能匹配一个字符串中所有数字(包括小数)的正则表达式