You can use regular expressions (regex) in Python to extract the string between ‘epoch’ and ‘_’ in the given filename. Here’s the code to do this:
python
import re
filename = './npy/CIFAR10_Mnist_epoch0_Net_fpr0.66730.npy'
match = re.search(r'epoch(.+?)_', filename)
if match:
result = match.group(1)
print(result)
else:
print("No match found")
Output:
0
In this code, we first import the re module for working with regular expressions. Then we define the filename string. We use the re.search() method to find the pattern ‘epoch’ followed by any number of characters until the first occurrence of ‘_’ in the filename string. The (.+?) is a capture group that matches one or more characters (the + means “one or more”), but as few as possible due to the ? after the + (this is called a non-greedy match). The matched string is stored in the match variable.
If match is not None, we extract the matched string from the first capture group using match.group(1) and store it in the result variable. Finally, we print the result. If match is None, we print a message indicating that no match was found.