### 正则表达式替换包含换行字符的字符串问题 ### 本帖最后由 java2000_net 于 2008-02-14 13:28:27 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 str = str.replaceAll("\\[b\\](.*?)\\n\\r\\n\\[/b\\]", "<strong>$1\\\n\\\r\\\n</strong>"); .*并不能包含对于\r\n的处理,"\\[b\\](.*( |\r|\n|\t)*)\\[/b\\]", "<strong>$1</strong>" 加上DOTALL的内嵌表达式“(?s)”就可以了。str.replaceAll("(?s)\\[b\\](.*?)\\[/b\\]", "<strong>$1</strong>"); yes . may or may not match line terminatorsstr = str.replaceAll("\\[b\\]((.|\n|\r)*?)\\[/b\\]", "<strong>$1</strong>"); [code={Java}]{\s A whitespace character: [ \t\n\x0B\f\r] 可以使用\s来匹配所有换行空格等特殊字符需要的表达式:.*\s*}[/code] str.replaceAll("\\[b\\]([^\\[].*?)\\[/b\\]", "<strong>$1</strong>");好久没看了,不知道写的对不对,别笑话阿,关注中. 跟bao的意思一样. Matcher m = Pattern.compile("\\[b\\](.*?)\\[/b\\]", Pattern.DOTALL).matcher(str); str = m.replaceAll("<strong>$1</strong>"); 呵呵,Java Tutorial上有的http://java.sun.com/docs/books/tutorial/essential/regex/pattern.html 上面有个(?i)的例子,有一次看到的,呵呵,我发现还可以组合着用,像(?is)这样。 Enter your regex: (?i)foo我晕,我就是为了找这个,花费了我20分钟,气死我了,我放了好多地方,最后发现,感情那个小括号是需要的我一直?s 呢,放在了几乎每个地方,都不对,最后发现,还得加上小括号! “(?)”这种形式的是非捕获组,Pattern的API中也有的,你可能当作括号了吧,嘻嘻 j2se、j2ee中的一系列时间问题 高分求一个产生不重复编号(String)的方法必须不重复 在线等!!!急求!! 改FONT問題 打开一个文件后,如何接着原来的内容写文件?(吐血求救!!!) 请教高手swing 中表单验证如何实现! 设置字体的问题,请进...... java调试问题? 我的作业,谁来帮帮我!! 高分请教高人 Stateless会话bean编译的错误。详情见内。谢谢。 我在java的学习路上迷路了 请问自增运算符++问题
str = str.replaceAll("\\[b\\]((.|\n|\r)*?)\\[/b\\]", "<strong>$1</strong>");
[code={Java}]{\s A whitespace character: [ \t\n\x0B\f\r]
可以使用\s来匹配所有换行空格等特殊字符需要的表达式:.*\s*
}[/code]
好久没看了,不知道写的对不对,别笑话阿,关注中.
Matcher m = Pattern.compile("\\[b\\](.*?)\\[/b\\]", Pattern.DOTALL).matcher(str);
str = m.replaceAll("<strong>$1</strong>");
我一直
?s 呢,放在了几乎每个地方,都不对,最后发现,还得加上小括号!