java - 正则表达式模式表达式

标签 java regex string

我有一个模式为 [0-9]* 的字段表达式,它采用一个数字值,后跟一个 * ex。 0123*****。但我还想在同一表达式中包含 *****0123 模式。我怎样才能在java中做到这一点。现在是这样的

 String numericPattern = "[*0-9]";

最佳答案

如果我理解正确的话,你想要

^\**\d+\**$

表示任意数量的星号 (\**),后跟至少一位数字 (\d+),然后是任意数量的星号(包括零)(\**)。由于 * 是正则表达式中的特殊字符(量词,表示任意数量的前面的字符/类/组),因此必须使用 \ 来匹配文字 *

行首 (^) 和行尾 ($) anchor 确保除了匹配的模式之外没有其他内容。

请注意,在java中你必须转义反斜杠,所以你应该得到类似的东西

String numericPattern = "\\**\\d+\\**";

See an example here at regex101 .

关于java - 正则表达式模式表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44921810/

相关文章:

c++ - 字符串无法解析 C++

regex - 使用正则表达式比较数字

php - 将目标属性添加到 html 链接

java - HSQLDB View (INNER-JOIN)在运行时出现故障

JavaFX - 带有 2 个输入字段的对话框?

jquery - 通过 jQuery 从部分文本中删除冒号?

c++ - 排序数组/字符串 vector

c - 在程序中用变量初始化 IP 和 PORT

java - Java 执行器中无界队列的用例是什么?

java - 如何以编程方式停止 adb wireless?