2015-05-05 4 views
2

Я хочу использовать REGEXP для запроса mysql.
Я пробовал это регулярное выражение и использовал .*, чтобы отметить что-либо между $, чтобы отметить конец строки.Regex end of string wont work

Battlefield.*2$ 

и я получить этот результат, который является нормальным, так как "2" и "2142" оба заканчивающееся на "2":

Battlefield 2 
Battlefield :2 
Battlefield: 2 
Battlefield collection 2 
Battlefield 2142 
Battlefield : 2142 

Моя цель результатов заключается в следующем:

Battlefield 2 
Battlefield :2 
Battlefield: 2 
Battlefield collection 2 

Как я могу его получить?

+2

Try 'Battlefield. * \ D2 $'. –

+0

Для этого вам необходимо приобрести Premium с пакетом DLC. Сожалею. – brezanac

ответ

3

Если вы не хотите какой-либо другой цифру перед 2, то вы можете использовать

Battlefield.*\D2$ 
3

Если номера не допускаются, это должно быть:

Battlefield[^\d]+2$ 
+0

Это гораздо более ограничительный. И '[^ \ d]' может быть заменен на '\ D' –

0
$string =~ m/Battlefield[ ]?[A-Za-z]*[ ]?[:]?[ ]?2$/) 
+0

Поскольку OP не уточнил язык программирования (что плохо), вы должны, вероятно, сохранить только часть регулярного выражения в своем ответе. –