Java正则表达式中的逻辑与

Java正则表达式中的逻辑与,java,regex,Java,Regex,可以在Java的Regexp中实现逻辑AND吗?如果答案是肯定的,如何实现这一目标 正则表达式中的逻辑AND由一系列堆叠的前瞻断言组成。例如: (?=^.*foo) (?=^.*bar) (?=^.*glarch) 将以任何顺序匹配包含“foo”、“bar”和“glarch”这三个字符的任何字符串,即使有些字符应该重叠。(这假设对^和的习惯解释) 当然,这个属性不是Java特有的。正则表达式中的逻辑AND由一系列堆叠的前瞻断言组成。例如: (?=^.*foo) (?=^.*bar) (?=^.

可以在Java的Regexp中实现逻辑AND吗?如果答案是肯定的,如何实现这一目标

正则表达式中的逻辑AND由一系列堆叠的前瞻断言组成。例如:

(?=^.*foo)
(?=^.*bar)
(?=^.*glarch)
将以任何顺序匹配包含“foo”、“bar”和“glarch”这三个字符的任何字符串,即使有些字符应该重叠。(这假设对
^
的习惯解释)


当然,这个属性不是Java特有的。

正则表达式中的逻辑AND由一系列堆叠的前瞻断言组成。例如:

(?=^.*foo)
(?=^.*bar)
(?=^.*glarch)
将以任何顺序匹配包含“foo”、“bar”和“glarch”这三个字符的任何字符串,即使有些字符应该重叠。(这假设对
^
的习惯解释)


当然,这个属性不是Java特有的。

这被认为是单个正则表达式吗?@EpsilonVector:当然!如果你那样使用它,它就是。为了清晰起见,我将每个单独的子区域放在各自的行上。在Java中,这需要在编译中使用前导的
(?x)
模式。注释
,这样换行符就不算数了。或者,您可以使用
+
或其他连接机制直接将这三个部分简单地连接起来。如果你愿意,我可以用Java更新一个完整示例的答案,但是如果你能告诉我你想要和想要的东西实际上是什么,可能会有所帮助。这算是一个单一的正则表达式吗?@EpsilonVector:当然!如果你那样使用它,它就是。为了清晰起见,我将每个单独的子区域放在各自的行上。在Java中,这需要在编译中使用前导的
(?x)
模式。注释
,这样换行符就不算数了。或者,您可以使用
+
或其他连接机制直接将这三个部分简单地连接起来。如果你愿意,我可以用Java更新一个完整示例的答案,但是如果你能告诉我你想要和想要在一起的东西实际上是什么,这可能会有所帮助。