求大神帮忙弄个正则要求如下:一句英文描述,里面可以包含1-5对大括号,最少一对,至多5对。

zqhzly 2012-07-10 03:45:01
要求如下:一句英文描述,里面可以包含1-5对大括号,最少一对,至多5对。
例子如下:{aa},affa{ysha}svisjsbshshb.
或者
{aa},affa{ysha}svisjsbshshb{ysha},asdas{ysha}{ysha}.
!!急急急!
...全文
148 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingralf 2012-07-11
  • 打赏
  • 举报
回复

String s = "adsd{aaa},{bbb}he";
System.out.println(s.matches("[^{}]*(\\{(?:aaa|bbb|ccc|ddd)\\}[^{}]*){1,5}"));


类似这样.多测试几次确保满足你的需求.
zqhzly 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
Java code

String s = "adsd{target},he";
System.out.println(s.matches("[^{}]*(\\{target}[^{}]*){1,5}"));



target替换为你想要的词语.

不一定满足你的要求.不知道你需要实现什么效果.
[/Quote]

大神啊!!!
就是哪个target可以动态的么?比如有5个词,都可以校验的。能实现么??
额,就是。比如有一句话是这样的{aaa},asdsa 还有一句话是{bbb},asdasd都能校验成功,但是{ccc},asdasd就不可以了 (aaa和bbb是固定的)
qingralf 2012-07-10
  • 打赏
  • 举报
回复

String s = "adsd{target},he";
System.out.println(s.matches("[^{}]*(\\{target}[^{}]*){1,5}"));


target替换为你想要的词语.

不一定满足你的要求.不知道你需要实现什么效果.
zqhzly 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
Java code

String s = "adsd{aadf}d,{12}{}";
System.out.println(s.matches("[^{}]*(\\{.+?\\}[^{}]*){1,5}"));
[/Quote]

那括号里面的词要必须是固定的可以实现么???
qingralf 2012-07-10
  • 打赏
  • 举报
回复

String s = "adsd{aadf}d,{12}{}";
System.out.println(s.matches("[^{}]*(\\{.+?\\}[^{}]*){1,5}"));
qingralf 2012-07-10
  • 打赏
  • 举报
回复
{asss},{hell

含有半个括号合法么?

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧