java中如何连续限制1个以上的“与”
我有一个字符串,它应该包含java中如何连续限制1个以上的“与”,java,regex,pattern-matching,Java,Regex,Pattern Matching,我有一个字符串,它应该包含一个名称,然后是&,然后是第二个名称。 不应出现两个连续的和。最后一个字符也不应该是& 我尝试了以下代码,但这不起作用 System.out.println("45345&&345".matches("(^(?!&)(?!.*&&)[0-9&]+(?<!&))$")); System.out.println(“45345&&345.”匹配((^(?)&)(?!.&)[0-9&]+(?仅一个&在线,不以&开头
一个名称
,然后是&
,然后是第二个名称
。
不应出现两个连续的和。最后一个字符也不应该是&
我尝试了以下代码,但这不起作用
System.out.println("45345&&345".matches("(^(?!&)(?!.*&&)[0-9&]+(?<!&))$"));
System.out.println(“45345&&345.”匹配((^(?)&)(?!.&)[0-9&]+(?仅一个&
在线,不以&
开头或结尾):
^[^&]+&[^&]+$
^(?:[^&]+&)+[^&]+$
可以包含多个&
,但不能包含连续的,并且不能以&
开头或结尾:
^[^&]+&[^&]+$
^(?:[^&]+&)+[^&]+$
在线上只有一个&
,不以&
开头或结尾:
^[^&]+&[^&]+$
^(?:[^&]+&)+[^&]+$
可以包含多个&
,但不能包含连续的,并且不能以&
开头或结尾:
^[^&]+&[^&]+$
^(?:[^&]+&)+[^&]+$
@ndn我试过了,但它也不起作用。它匹配行,只要它们只有一个&
,并且不以&
开头或结尾。这不是你想要的吗?好的,我明白你的意思了@ndn让我检查一下问题,展示一些匹配和不匹配字符串的示例。它起作用了@ndn@ndn我有尝试过这个,但它也不起作用它匹配行,只要它们只有一个&
,并且不以该&
开头或结尾。这不是你想要的吗?好的,我明白你的意思了@ndn让我检查一下这个问题,以显示一些匹配和不匹配字符串的示例。它起作用了。@ndn请检查第二项针对abc&def&&ghi&jkl
的d正则表达式。子句(?:[^&]*&)+
允许导致不需要的匹配的[^&]
的零。我认为^(?[^&]++[^&]+$
可以完成此任务。请针对abc&def&&ghi&jkl
检查第二个正则表达式。子句(?:[^&&&]*&]+
允许零的[^&]
导致不需要的匹配。我认为^(?:[^&]+&)+[^&]+$
可以完成这项工作。