Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于在文本中查找子字符串的正则表达式_Java_Regex - Fatal编程技术网

Java 用于在文本中查找子字符串的正则表达式

Java 用于在文本中查找子字符串的正则表达式,java,regex,Java,Regex,我有一个文本文件,其中包含一些我想用Java正则表达式提取的字符串, 这些字符串的格式为: $numbers,numbers,numbers…,numbers (以$开头,然后是一组数字加上,,最后是。) 这是我的模式 Pattern pattern = Pattern.compile("$*##"); Matcher matcher = pattern.matcher(text); if (matcher.find()) { } 结果发现没有任何东西

我有一个文本文件,其中包含一些我想用Java正则表达式提取的字符串, 这些字符串的格式为:

$numbers,numbers,numbers…,numbers

(以
$
开头,然后是一组数字加上
,最后是
) 这是我的模式

    Pattern pattern = Pattern.compile("$*##");
    Matcher matcher = pattern.matcher(text);
    if (matcher.find())
    {

    }
结果发现没有任何东西符合我的模式 谁能告诉我有什么问题吗?

您需要做:

Pattern pattern = Pattern.compile("\\$\\$\\d+(,\\d+)*##$");

感谢@Pshemo为解决方案提供了宝贵的投入。

对您来说是一个很好的起点。
$
在正则表达式中是特殊的(您可能需要避开它),
*
意味着在它出现零次或多次之前,它就已经出现了。您测试过它吗?我有一种感觉,你可能会在
$
方面遇到问题,
*
*
的贪婪是你能做的最糟糕的事情,如果你知道两边的细节@狗鼻子我知道,但那是OP问的for@Sanjeev不,不是。他明确指出,标签之间只能有数字和/或
<代码>*将匹配任何东西-即使是
###
本身,如果后面还有另一个…@Pshemo我不确定为什么它不适合您。请重新检查