Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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_Arrays_Regex_String - Fatal编程技术网

正则表达式,逐字符读取(java)

正则表达式,逐字符读取(java),java,arrays,regex,string,Java,Arrays,Regex,String,对不起我的英语。逐字读取文件。我需要输出一个符合表达式的字符串,在本例中为([a-zA-Z0-9]){0,}。我就是这样做的:如果发生换行,则对正则表达式进行检查。为什么它不起作用 UDP代码: public static void main(String[] args) throws FileNotFoundException, IOException { int endWord = wordToFind.length(); int startWor

对不起我的英语。逐字读取文件。我需要输出一个符合表达式的字符串,在本例中为
([a-zA-Z0-9]){0,}
。我就是这样做的:如果发生换行,则对正则表达式进行检查。为什么它不起作用

UDP代码:

    public static void main(String[] args) throws FileNotFoundException, IOException {

        int endWord = wordToFind.length(); 
        int startWord = 0;  
        String myWord = ""; 
        int numbLine = 1; 

        char[] barray = new char[1024]; 
        StringBuilder stringB = new StringBuilder(); 

        Pattern p = Pattern.compile("([a-zA-Z0-9]){0,}");

        try(BufferedReader  reader = new BufferedReader(new InputStreamReader(new FileInputStream("text.txt"))))
        {   
            startTime = System.currentTimeMillis();
            int value;
            while((value = reader.read(barray, 0, barray.length)) != -1) {
                for(int i = 0; i < value; i++) {

                    stringB.append(barray[i]); 

                   if( Character.toString(barray[i]).equals("\n") ) {

                        Matcher m = p.matcher(stringB.toString());

                        if(m.matches()) {
                            finwWordLine = true;
                        }

                        if(finwWordLine) { 
                            System.out.println(numbLine + ": " +stringB.toString()); 
                        }

                        stringB.delete(0, stringB.length()); 
                        finwWordLine = false; 
                        numbLine++; 
                    }
} 

            }

           reader.close();



        }catch(Exception e){
           System.out.println("Error : "+e);
        }
    }
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException、IOException{
int endWord=wordToFind.length();
int startWord=0;
字符串myWord=“”;
int numbLine=1;
char[]barray=新字符[1024];
StringBuilder stringB=新的StringBuilder();
模式p=Pattern.compile(([a-zA-Z0-9]){0,});
try(BufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream(“text.txt”)))
{   
startTime=System.currentTimeMillis();
int值;
while((value=reader.read(barray,0,barray.length))!=-1){
for(int i=0;i
UPD text.txt

一行

双线

三线 asd asdas dasd asd 阿斯达斯达斯德 五行

一个


asdasd asd asd asd asd

请尝试以下正则表达式:

[a-zA-Z0-9]*

你想达到什么目标?具有预期输出的示例会更好。您的示例缺少少量的
}
,并且缺少您希望用要实现的输出解析的输入示例。请回答您的问题,并提供简短但完全可编译且可运行的示例,让我们重现您的问题。@asdascaedfa您可以发布“text.txt”文件的内容吗?@asdascascaedfa您希望匹配哪些行?您不想匹配哪些行?@asdascascaedfa在您的文本文件中,您想匹配哪些行?(第一行,第三行,第三行…@asdascascaedfa你想匹配什么?我想把这些行带到相同正则表达式的地方。我尝试我的代码我在这里尝试做
Matcher m=p.Matcher(stringB.toString())如果存在匹配项,则输出string@asdascascaedfa在您的帖子中有一个text.txt文件的示例。在这个文件的5行中,哪些是感兴趣的?我的正则表达式
Pattern p=Pattern.compile(([a-zA-Z0-9]){0,})
理论上,我应该带一个带一个单词的字符串,它的行包含单词one(4行),如果我喜欢这个
“([a-zA-Z0-9]){0,}([\\s]){0,}”
,也就是说它可以是一个空格
([\\s]){0,}