Я следую предложения на странице, check if string ends with certain patternMatch Строка заканчивается (регулярное выражение) Java
Я пытаюсь отобразить строку,
- Запуски с ничего
- Имеет буквы " .mp4 "в нем
- Ends явно с », (апостроф с последующей запятой)
Вот мой Java-код:
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
String str = " _file='ANyTypEofSTR1ngHere_133444556_266545797_10798866.mp4',";
Pattern p = Pattern.compile(".*.mp4[',]$");
Matcher m = p.matcher(str);
if(m.find())
System.out.println("yes");
else
System.out.println("no");
}
}
Он печатает "нет". Как я могу объявить свой RegEx?
Thanks.Really ясный. Почему эта обратная косая черта используется, прежде чем использовать ** \. ** для соответствия точке – Pradeep
@Pradeep: поскольку '.' В регулярном выражении соответствует любому символу, но вы хотите только совместить строку, если она содержит '.mp4 'в качестве подстроки вам нужно использовать' \ .mp4', поскольку в противном случае он соответствует строкам, содержащим 'xmp4', но не' .mp4' тоже. Двойная обратная косая черта просто ускользает от одной обратной косой черты – fabian