I need to extract the text in a bunch of html files (about 500K of them)
The text to be copied looks like `<div class='cls '>text to be copied including some<span>and <p></p></span>and more text</div>` 

which I resolved to `(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)`

I've read other questions about how to do this with grep and I thought the command would be 

```
grep -r "/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" *.html > output.txt

```

And it doesn't work. What am I doing wrong?

also tried `pcregrep -r -regexp="/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" --file-list=fl.txt > output.txt` - it does nothing
and `pcregrep -r -regexp="/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" > output.txt` - nothing

EDIT 1: 
Tried the suggestion below in the following formats:

```
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> touch output.txt
grep: -r: No such file or directory
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> output.txt
grep: -r: No such file or directory
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> output.txt
grep: -r: No such file or directory

 grep -f "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" file111.html >> touch output.txt
grep: /(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/: No such file or directory

```

and a few other permutations, still nothing