相关疑难解决方法(0)

Java中的条件正则表达式?

我有一个条件正则表达式,适用于regex测试网站,如regexlib.com,但无法让它在我的Java应用程序中工作.

但是,http://www.regular-expressions.info/conditional.html表明Java不支持条件,但我已经看到SO上的其他帖子暗示它确实存在.

我的RegEx的一个例子是: (?(?=^[0-9])(317866?)|[a-zA-Z0-9]{6}(317866?))

它应匹配以下任一输入:317866317866A12FCF1CS317866

我如何解决这个Java限制?

TIA

java regex conditional

5
推荐指数
1
解决办法
1万
查看次数

Java String.replaceAll正则表达式

我想替换第一个上下文

网络/风格/ 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:非法组引用

java regex replace

3
推荐指数
2
解决办法
3400
查看次数

java String.replaceAll正则表达式问题

我有一个包含以下文本的字符串

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!

java regex string replaceall

0
推荐指数
1
解决办法
1733
查看次数

标签 统计

java ×3

regex ×3

conditional ×1

replace ×1

replaceall ×1

string ×1