【问题标题】:Logical AND in Java RegexJava 正则表达式中的逻辑与
【发布时间】:2011-05-21 13:47:23
【问题描述】:

是否可以在 Java 的 Regexp 中实现逻辑与?如果答案是肯定的,那如何实现?

【问题讨论】:

    标签: java regex


    【解决方案1】:

    正则表达式中的逻辑与由一系列堆叠的先行断言组成。例如:

    (?=^.*foo)
    (?=^.*bar)
    (?=^.*glarch)
    

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

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

    【讨论】:

    • 这是否被视为单个正则表达式?
    • @EpsilonVector:当然!如果您以这种方式使用它。为了便于阅读,我将每个单独的子正则表达式放在了自己的行中。这在 Java 中要求在编译时使用前导 (?x)Pattern.COMMENTS,这样换行符就不算在内。或者您可以使用+ 或其他一些连接机制直接连接这三个部分。如果您愿意,我可以将答案更新为 Java 中的完整示例,但如果您能向我展示您想要的东西实际上是什么,这可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多