java 正则 大括号_java正则表达式获取大括号之间的内容
";
String reg2 = "
";
System.out.println(test.replaceAll(reg, "###"));
System.out.println(test2.replaceAll(reg2, "###"));
输出:
a
aavaabb
###
可见。完全匹配是最严格的,必须整个字符串匹配才行。
实例: 获取下面字符串中的大括号中的内容:
{one}{two}{three}
可以这样:
String s = "{one}{two}{three}";
//因为默认为贪婪模式,所以如果没有使用显示()组中的元素不能为大括号([^}]*),而是使用(.*),
//那么会匹配的字符串为:one}{two}{three
Pattern p = Pattern.compile("\\{([^}]*)\\}");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));//第一次匹配成功是one,第二次匹配成功是two,第三次匹配为three
}
输出
one
two
three
如果想要三个大括号中的 内容一起输出,可以这样:
String s = "{one}{two}{three}";
Pattern p = Pattern.compile("\\{([^}]*)\\}\\{([^}]*)\\}\\{([^}]*)\\}");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1) + ", " + m.group(2) + ", " + m.group(3));//获取该次匹配中组(),正则表达式中只有一个(),即只分了一个组
}
输出
one, two, three
关于组的实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
public static void main( String args[] ){
// 按指定模式在字符串查找
String line = "This order was placed for QT3000! OK?";
String pattern = "(\\D*)(\\d+)(.*)";
// 创建 Pattern 对象
Pattern r = Pattern.compile(pattern);
// 现在创建 matcher 对象
Matcher m = r.matcher(line);
if (m.find( )) {
//每次匹配成功之后,表示利用pattern 获取到了匹配的字符串,而pattern 中有三个小括号,即有三个
//组,那么每次匹配成功肯定有group(1),group(2),group(3),group(0)是它总是代表整个表达式
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
System.out.println("Found value: " + m.group(3) );
} else {
System.out.println("NO MATCH");
}
}
}
运行结果如下:
Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT
Found value: 3000
Found value: ! OK?
文章来源: www.oschina.net,作者:文文1,版权归原作者所有,如需转载,请联系作者。
原文链接:https://my.oschina.net/u/2331760/blog/3145584
登录后可下载附件,请登录或者注册
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章
//点赞 收藏
0
点赞
0
收藏
链接复制成功
复制链接到剪贴板
分享文章到微博
分享文章到朋友圈
分享
相关文章
评论 (0)
0/1000
0/1000
评论
登录后可评论,请 登录 或 注册
评论
您没有权限执行当前操作
新窗
关闭
设置昵称
在此一键设置昵称,即可参与社区互动!
*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。
*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。
java 正则 大括号_java正则表达式获取大括号之间的内容相关推荐
- java正则 括号_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
获取大括号小括号内容 项目开发用到了,暂做个简单记录 private static String regex = "\\{([^}]*)\\}";//匹配大括号 private s ...
- java正则表达式 中括号_Java正则表达式获取中括号之间的内容
不包含中括号 正则表达式如下: \\[(.*?)] 注: .匹配除换行符\n之外的任何单字符: *匹配前面的子表达式零次或多次: ?匹配前面的子表达式零次或一次: ()标记一个子表达式的开始和结束位置 ...
- java 正则表达式 大括号_java 正则表达式获取大括号之间的内容
先说下组的概念: 捕获组 捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建. 例如,正则表达式 (dog) 创建了单一分组,组里包含"d"," ...
- java正则 链接_Java正则表达式获取网址和链接文字解析
很久不写正则表达式了,网上看到个面试题关于提取, 各种乱七八糟的解法. 正确的,应该是这样吧: import java.util.regex.Matcher; import java.util.reg ...
- Java正则获取小括号中的内容_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
获取大括号小括号内容 项目开发用到了,暂做个简单记录 private static String regex = "\\{([^}]*)\\}";//匹配大括号 private s ...
- java 正则 实例_Java正则表达式实例详解
创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...
- java正则转义_Java 正则表达式 转义字符
一.这篇文章写的很好,值得看看 两个重点: 1.两次转义 (1)Java 转义(具体规则待学习) Java 中的普通字符串,需要经过 Java 的转义 (2)正则转义(具体规则待学习) Java 代码 ...
- java正则 转义_java – 正则表达式和转义和未转义的分隔符
你可以使用正则表达式 (?:\\.|[^;\\]++)* 匹配未转义分号之间的所有文本: List matchList = new ArrayList(); try { Pattern regex = ...
- java 正则 实例_Java正则表达式示例
正则表达式定义链接: 应用实例: 统计一个Java字符串中的单词数量 public class Nn { public static void main(String[] args) { String ...
最新文章
- 数十名工程师作战5天,阿里达摩院连夜研发智能疫情机器人
- VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装
- ORA-29786: SIHA attribute GET failed with error
- jeecg 3.5.2 新版本4种首页风格 【经典风格,shortcut风格,ACE bootstrap风格,云桌面风格】
- windows 批处理 for循环语句
- 【jQuery笔记Part4】03-事件详解
- ensp动态路由配置_动态路由的原理与配置
- arcpy 使用ListFields函数获取字段列表的名称、类型和长度
- 2月26 ubuntu系统备份还原到相同电脑、另一台电脑
- 面板模型混合效应模型_树助混合效应模型
- 计算机声卡视频无法安装驱动程序,电脑声卡驱动怎么安装,教你三步搞定声卡驱动...
- Python数据可视化(趋势图、条形图、动态图)
- 惠普HP LaserJet M5035 打印机驱动
- windows粘贴不了
- 深度学习:欠拟合问题的几种解决方案
- 歇逼了兄弟,心态崩了
- 开源问答社区软件Answer
- 2021年中级消防设施操作员(操作与维护),模拟真题及答案
- 【人工智能】八数码问题:广度搜索、深度搜索
- Pandas中melt()的使用