其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

正则表达式匹配问题。

GG网络技术分享 2025-03-18 16:15 1


问题描述:

String s1 = "text is abc16hdb09jd8hsj1";String s2 = "text is 12xiwebu90wu903jj";String s3 = "text is 19jeudnpsowkslslx";

现在我想写一个正则表达式,匹配abc16hdb09jd8hsj1这类的字符,这类字符**由数字和字母组成,至少包含一个数字和一个字母,开头和末尾可以是数字也可以是字母**

预期效果:

String s1 = "text is abc16hdb09jd8hsj1";Pattern pattern = Pattern.compile(正则表达式);Matcher matcher = pattern.matcher(s1);System.out.println(mather.replaceAll("")); //预期输出为"text is ";

最后的正则表达式**不会匹配纯英文单词或者纯数字**

求解

网友观点:

方便理解将[A-Za-z0-9]记作c,正则可以写为(c*[0-9]c*[A-Za-z]c*)|(c*[A-Za-z]c*[0-9]c*)

Pattern pattern = Pattern.compile("([A-Za-z0-9]*[A-Za-z][A-Za-z0-9]*[0-9][A-Za-z0-9]*)|([A-Za-z0-9]*[0-9][A-Za-z0-9]*[A-Za-z][A-Za-z0-9]*)");

既然前面是固定的,你截取或者匹配前面的,然后取出来用不就好了,比你匹配后面的要简单多了啊

一问读懂正则表达式(以匹配HTML为例)

  工作中,正则表达式用的可能不是很多,一般使用的时候网上都有现成的实例,很少缺乏比较全面的理解。本文主要以匹配HTML标签为例,简述下正则表达式常用的功能点。匹配HTML片段如下:

标签:

提交需求或反馈

Demand feedback