Java 正则表达式以匹配特定模式和介于两者之间的特定数量的值

Java 正则表达式以匹配特定模式和介于两者之间的特定数量的值,java,Java,很抱歉让人困惑的标题。。。我正在编辑我继承的android应用程序的一个简单java方法。现在是这样的, String id = "\\border_3_4_5_.*\\b"; 哪些匹配: order_3_4_5_anything 现在我想更新它,使之匹配,以便它可以匹配任何值5,6,7,8,而不是仅仅5,其余的保持不变 order_3_4_[5 or 6 or 7 or 8]_ 我尝试了以下方法: String

很抱歉让人困惑的标题。。。我正在编辑我继承的android应用程序的一个简单java方法。现在是这样的,

     String id = "\\border_3_4_5_.*\\b";
哪些匹配:

        order_3_4_5_anything
现在我想更新它,使之匹配,以便它可以匹配任何值5,6,7,8,而不是仅仅5,其余的保持不变

       order_3_4_[5 or 6 or 7 or 8]_
我尝试了以下方法:

         String id = "\\border_3_4_[5|6|7|8]_.*\\b";
         String id = "\\border_3_4_(5|6|7|8)_.*\\b";
         String id = "\\border_3_4_[5,6,7,8]_.*\\b";

但无法使其工作。

如果我正确理解了您的要求,它将匹配以下输入

order\u 3\u 4\u 5_
订单3\u 4\u 6_
订单3\u 4\u 7_
订单3\u 4\u 8_
因此,适用于上述情况的正则表达式为

String pattern=“订单3\u4[5 | 6 | 7 | 8]。”
您只需去掉正则表达式开头和结尾的“\b”。不太清楚你为什么在那里使用这些反斜杠。您提供的正则表达式将匹配以下示例输入

\border_3_4_5_\b
\border_3_4_6_\b
\border_3_4_7_\b
\border_3_4_8_\b
这是因为在正则表达式中,“\”相当于一个反斜杠,因为第一个反斜杠用于转义第二个反斜杠。同样地,在末尾“\b”相当于一个齿隙,后面跟着b,这也是因为第一个反斜杠是为了避开第二个反斜杠

您可以测试这些正则表达式


希望这个答案对你有帮助!如果是的话,我将非常感谢您将我的回答标记为“接受”。你好

如果我正确理解了您的需求,它将匹配以下输入

order\u 3\u 4\u 5_
订单3\u 4\u 6_
订单3\u 4\u 7_
订单3\u 4\u 8_
因此,适用于上述情况的正则表达式为

String pattern=“订单3\u4[5 | 6 | 7 | 8]。”
您只需去掉正则表达式开头和结尾的“\b”。不太清楚你为什么在那里使用这些反斜杠。您提供的正则表达式将匹配以下示例输入

\border_3_4_5_\b
\border_3_4_6_\b
\border_3_4_7_\b
\border_3_4_8_\b
这是因为在正则表达式中,“\”相当于一个反斜杠,因为第一个反斜杠用于转义第二个反斜杠。同样地,在末尾“\b”相当于一个齿隙,后面跟着b,这也是因为第一个反斜杠是为了避开第二个反斜杠

您可以测试这些正则表达式


希望这个答案对你有帮助!如果是的话,我将非常感谢您将我的回答标记为“接受”。你好

正如@idl99所说,我不确定
\\b
,但您可以使用以下任一正则表达式模式:

order_3_4(5 | 6 | 7 | 8).*

order\u 3\u 4\u[5678].*

order\u 3\u 4\u[5-8].*


旁注:您可以在这里测试您的正则表达式:

正如@idl99所说,我不确定
\\b
,但您可以使用以下任一正则表达式模式:

order_3_4(5 | 6 | 7 | 8).*

order\u 3\u 4\u[5678].*

order\u 3\u 4\u[5-8].*


旁注:你可以在这里测试你的正则表达式:

为什么你在正则表达式的开头使用“\\”并且在结尾使用“\\b”?为什么你在正则表达式的开头使用“\\”并且在结尾使用“\\b”?谢谢@idi99。我试试你的答案。代码中有\b,我不知道它到底在做什么。@idi99谢谢。我试试你的答案。代码中有\b,我不知道它到底在做什么。