我有一个条件正则表达式,适用于regex测试网站,如regexlib.com,但无法让它在我的Java应用程序中工作.
但是,http://www.regular-expressions.info/conditional.html表明Java不支持条件,但我已经看到SO上的其他帖子暗示它确实存在.
我的RegEx的一个例子是: (?(?=^[0-9])(317866?)|[a-zA-Z0-9]{6}(317866?))
它应匹配以下任一输入:317866或317866A12或FCF1CS317866
我如何解决这个Java限制?
TIA
我想替换第一个上下文
网络/风格/ clients.html
使用java String.replaceFirst方法,我可以得到:
$ {} pageContext.request.contextPath /style/clients.html
我试过了
String test = "web/style/clients.html".replaceFirst("^.*?/", "hello/");
Run Code Online (Sandbox Code Playgroud)
这给了我:
你好/风格/ clients.html
但是当我这样做的时候
String test = "web/style/clients.html".replaceFirst("^.*?/", "${pageContext.request.contextPath}/");
Run Code Online (Sandbox Code Playgroud)
给我
java.lang.IllegalArgumentException:非法组引用
我有一个包含以下文本的字符串
String my_string = "hello world. it's cold out brrrrrr! br br";
Run Code Online (Sandbox Code Playgroud)
我想替换每个隔离 BR与<br />
问题是我想避免将字符串转换为
"hello world. it's cold out <br />rrrrr! <br /> <br />";
Run Code Online (Sandbox Code Playgroud)
我想做的是将字符串(使用replaceAll)转换为
"hello world. it's cold out brrrrrr! <br /> <br />";
Run Code Online (Sandbox Code Playgroud)
我确信这很简单,但我的正则表达式是不正确的.
my_string.replaceAll("\\sbr\\s|\\sbr$", "<br />");
Run Code Online (Sandbox Code Playgroud)
我的正则表达式应该找到'空白''b''r''空白'或''空格''b''r''行尾'
但它错过了我的字符串中的最后一个"br"
"hello world. it's cold out brrrrrr!<br />br"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么??TKS!