加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式写法?

发布时间:2020-12-14 04:27:42 所属栏目:百科 来源:网络整理
导读:问题1: 最近碰到一个问题,就是如何根据两端的字符来匹配相应的字符串,正则表达式 如何写 ? 答案是用(.*?) 分析: 例如,[(.*?)]这个正则表达式匹配两端是[]符号的字符串 其中一点代表任意字符,星号代表字符串长度,?表示限制贪婪匹配 以下是有?的情

问题1:

最近碰到一个问题,就是如何根据两端的字符来匹配相应的字符串,正则表达式如何写

答案是用(.*?)

分析:

例如,[(.*?)]这个正则表达式匹配两端是[]符号的字符串

其中一点代表任意字符,星号代表字符串长度,?表示限制贪婪匹配

以下是有?的情况下,即当第一次匹配到 ] 停止,开始查找 [,进行第二次匹配查找。

String regEx = "[(.*?)]";

String str = "abc[123]def[ghi]456";

Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);

System.out.println(matcher.matches());

while( matcher.find() )
{
	System.out.println( "" + matcher.group() );
}

结果:[123]
[ghi]

对比下面是无?的情况,即贪婪匹配。
String regEx = "[(.*)]";

String str = "abc[123]def[ghi]456";

Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);

System.out.println(matcher.matches());

while( matcher.find() )
{
	System.out.println( "" + matcher.group() );
}

结果:[123]def[ghi]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读