最近做项目,要对产品的ID号进行处理, 其ID的格式为"24k43600xxxxx"
处理时,我要把"24k4"后的"360"替换成"000",替换后成"24k40000xxxxx"
于是我这样写 id.replaceFirst("^(?<=\\w{4})\\d{3}","000")
打印结果并未替换,仍然输出"24k43600xxxxx"
但是,当我把开头的匹配符去掉后即id.replaceFirst("(?<=\\w{4})\\d{3}","000")便可成功得到"24k40000xxxxx"
想请问,为什么这里加了字符串的前端匹配就无法正确的捕获“360”?
处理时,我要把"24k4"后的"360"替换成"000",替换后成"24k40000xxxxx"
于是我这样写 id.replaceFirst("^(?<=\\w{4})\\d{3}","000")
打印结果并未替换,仍然输出"24k43600xxxxx"
但是,当我把开头的匹配符去掉后即id.replaceFirst("(?<=\\w{4})\\d{3}","000")便可成功得到"24k40000xxxxx"
想请问,为什么这里加了字符串的前端匹配就无法正确的捕获“360”?
解决方案 »
- JFreeChart生成图片,本地快,服务器慢
- 谁有现成的东西:JPanel A中 有一个 JPanel B、C,B、C可以在A中自由的支持鼠标拖动(类似JDesktop 跟 JInternalFrame)。并且需要停靠的
- 如何用java编出餐饮系统中用图片显示桌位状态的效果?个人觉得超难?请高人指点
- 访问远程文件的问题
- 弹出来的"选择文件的对话框"不能够显示在最顶层?怎么解决?(在线期待高手解答)
- 怎样用java通过串口对PLC 采集数据
- 这个句子怎么翻译好?
- 老问题:如何用java实现ftp断点续传(要原码)急!!
- 用java,怎样实现从一个类的发一个消息(消息本身也是一个类)到另一个类?
- java 多线程对同一个共享数据操作遇到的问题
- 对于变量的初始化
- 關於繳納個人所得稅的稅單問題!!!
刚才我发现大概了,要是想用前端匹配的话,要把^写进断言表达式中,如"(?<=^\\w{4})\\d{3}",可能是因为都是在判断位置的关系吧。
http://www.iteye.com/problems/51598