Java 正则表达式-匹配整个选择

Java 正则表达式-匹配整个选择,java,regex,Java,Regex,我有一个字符串,我想对一个正则表达式进行测试,该正则表达式将检测是否有匹配项,然后将它们从字符串中删除 我想搭配这样的图案 � ㊃ 以&开头,后跟5个随机数字,以a结尾的任何内容 现在我想到了这个: ([&#\d;]) 它可以工作,但也可以选择单个数字或& 我应该做什么样的调整来只选择与我描述的模式匹配的事件?由于字符串具有精确的格式,正则表达式应该是: &\d{5} 这将精确匹配数字的5倍,不能多,也不能少。 此外,您不需要字符类[],因

我有一个字符串,我想对一个正则表达式进行测试,该正则表达式将检测是否有匹配项,然后将它们从字符串中删除

我想搭配这样的图案

�
㊃
以&开头,后跟5个随机数字,以a结尾的任何内容

现在我想到了这个:

([&#\d;])
它可以工作,但也可以选择单个数字或&


我应该做什么样的调整来只选择与我描述的模式匹配的事件?

由于字符串具有精确的格式,正则表达式应该是:

&\d{5}

这将精确匹配数字的5倍,不能多,也不能少。 此外,您不需要字符类[],因为每个字符的位置都很严格。 如有必要,您可以添加捕获组,&\d{5};-如果没有,就不要说了。 此外,如果您知道您的数据将始终采用您所显示的格式,则不需要^和$。如果添加^regex$,则正则表达式引擎必须执行另外两个步骤。这是一种微优化,但如果您处理大量数据,可能会节省一些时间。比较这两个示例中的步数: 及

一般来说,使用正则表达式时,您需要精确和具体。

试试这个&\d{5}

\d{5}:任意数字,正好5个重复


如果要检测行尾,可以使用$and^作为字符串的起始位置


谢谢

请尝试此[&\d{5};],并尝试^