[color=darkred]我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例如:"169,172009012410208000000,1,80,193,186,185" 返回存在或者不存在
String str = "169,172009012410208000000,1,80,193,186,185";
boolean flag = str.matches("正则表达式");
请教各位,这个正则该如何写呢[/color]
[code="java"]Pattern.compile("^.*((80,)|(,80))+.*$");[/code]
这样.
boolean flag = str.matches("^.*,?80,?.*$");
不用判断左边的逗号了吧?
[quote]我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例[/quote]
这是2种情况吧,有"80,"就行了?
[code="java"]Pattern.compile("^.*(80,)+.*$");[/code]
[quote]有种情况避免不了啊:如String str = "169,172009012410208000000,1,180,10,193,186,185";
这也是返回到的true,我只要找单个的80, [/quote]
是返回true的啊,我的意思是:
",80," 这种情况是在 "80," 之后的,
如果有"80,"存在就可以返回true了.
[code="java"]Pattern.compile("^.*(80,)+.*$"); [/code]
可以满足了.
[quote]这种条件是不能满足的:169,172009012410208000000,1,1801,10,193,186,185,80 [/quote]
这个...题意不符啊...
[quote]我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例[/quote]
你没说有 ",80" 的.......
8) :arrow:
[code="java"]Pattern.compile("^.*(((80,)+)|((,80,)+)|((,80)+)).*$");[/code]
你的加工下就行了.不过看起来有点哆嗦,试试优化下.