我有一个有组的模式。这些组都是可选的。
完整的posible模式是:
==A=B++C+D#E-F-F-F-F-F-F-F-F-F-F
但也可以看起来像这样
==A=B++C+D#E-F-F-F-F-F-F-F-F-F-F
==A.A++C.C+D.D-F
=B++C-F
++C+F-F-F
不可能在组中获得限定词,例如(组A不可能' = ')。
所以我尝试了这些正则表达式:
(.*)?\=\=(.*)?\=(.*)?\+\+(.*)?\+(.*)?\#(.*)?\-(.*)
问题:
我的错是什么?
我将通过构建每个阶段来解决这个问题,因此,您的“A”组以==
开头,并且不能包含=
,因此该部分可以由==[^=]
匹配,但整个组是可选的,因此我将使用它作为(==[^=] )?
,将相同的主体应用于您的“B”组,它以单个=
开头并且不能包含将提供一个可选的
(=[^ ] )?
组,沿着所有组工作最终会得到类似的结果:
(==[^=]+)?(=([^+]+))?(\+\+([^+]+))?(\+([^#]+))?(#([^-]))?(\-(.*))?
我已经对任何给定组中不允许的字符进行了假设,并且还假设每个组都是可选的(因此空字符串匹配),并且没有组需要前一组(因此 D 可以在没有 C 的情况下出现是有效的) - 这些假设可以通过额外的分组或调整字符类来纠正, 因此,例如,以下内容允许单独的 F 组(如果您正在解析数据,这可能很方便)
(==[^=]+)?(=([^+]+))?(\+\+([^+]+))?(\+([^#]+))?(#([^-]))?(\-([^-]))*
大家好,我需要为下面的示例创建AVRO模式; 当我按照建议更改所有者对象时,avro-tool返回错误。 ]} 测试:
我想创建一个Mongoose模式,用以下限制验证下面的对象: 字段2是可选的(0-1关系), 代码示例 提前谢谢。
我有一个Spring RESTendpoint,具有如下所示的可选请求参数: 当我试图测试这个使用Mockito框架的endpoint时 提前感谢!
我正在实现一个复合组件,我发现了一个我没有找到解决方案的问题。 我指定了它的属性,这些属性可以由页面作者传递,也可以不传递,但是我不能指定一个method属性(操作的方法表达式),如果这个属性没有被传递,复合组件就不使用composite:implementation标记中的method属性。
问题内容: 现在我有: 除非我要转换没有微秒的字符串,否则此方法效果很好。如何指定微秒是可选的(如果它们不在字符串中,则应将其视为0)? 问题答案: 您可以使用一个块:
我在这里使用这个示例代码创建一个JTree,其中所有的叶子都有一个复选框。我遇到的问题是,我还需要能够选择节点对象,而不必勾选复选框。在我的用例中,勾选复选框将使某些内容可见或隐藏,但选择节点将允许在UI的单独部分编辑对象。最好的方法是什么?是否可以检测何时单击复选框的“框”部分,或者是否选中节点? 我看到的另一个错误是,当文件夹有子元素时,文件夹左侧的指示器正确显示文件夹已打开: 但是如果'文件