Java 用html div替换某些模式
我在Java 用html div替换某些模式,java,regex,Java,Regex,我在regex方面很弱,我认为分配给我的任务需要regex。 假设我有以下目标:#B#我们的目的是回顾人格特征如何影响人格的发生、维持或调节。方法:#B#从1967年到2012年,对数据库Medline和PsychINFO进行了检查 现在我的要求是用anystring替换anystring 我认为需要regex,但我不知道regex是什么 请给出任何建议 已更新 String regex="#B#"; String textFormated = text.replaceAll(regex,"&l
regex
方面很弱,我认为分配给我的任务需要regex
。
假设我有以下目标:#B#我们的目的是回顾人格特征如何影响人格的发生、维持或调节。方法:#B#从1967年到2012年,对数据库Medline和PsychINFO进行了检查
现在我的要求是用anystring
替换anystring
我认为需要regex
,但我不知道regex是什么
请给出任何建议
已更新
String regex="#B#";
String textFormated = text.replaceAll(regex,"<div class='formated'>");
System.out.println(textFormated);
String regex=“#B#”;
字符串textformatted=text.replaceAll(regex,“”);
System.out.println(文本格式);
这就是我到目前为止所尝试的。它只是用
替换#B#
,但是添加div结尾有点复杂。如果找到:#B#
,则应该添加div结尾。但是如何将这两个正则表达式一起使用。使用以下方法:
str = str.replaceAll("#B#(.*?)#B#", "<div class=\"format\">$1</div>");
str=str.replaceAll(“#B#(.*)#B#,“$1”);
*?
是不情愿的限定符。这意味着,在下一个#B#
之前,它将匹配尽可能少的字符(可能为零)。请尝试此代码,这将对您有所帮助
String givenData ="asdfasdfa#B#anystring#B#asdfasdfasdfas";
String pattern = "(#B#)(.+?)(#B#)";
String result = givenData.replaceAll(pattern, "<div class='format'>$2</div>");
System.out.println(result);
String givenda=“asdfasdfa#B#anystring#B#asdfasdfas”;
字符串模式=“(#B#”)(.+?)(#B#”)”;
字符串结果=givenData.replaceAll(模式,$2”);
系统输出打印项次(结果);
您已经做了什么?您尝试过任何代码吗?#B#
的捕获组是多余的…thnks但是您能告诉我@Rakesh Chouhante使用$1和$2有什么区别吗?数字是括号中表达式的数量$0是整个匹配,$1是第一个括号子匹配,等等。在我的例子中$1是正确的,$2在@Rakesh Chouhan的例子中是正确的。他的解决方案也是正确的,但如果#B#之间没有文本,则#B#将转到输出。