正则表达式的字符串结束不会工作

时间:2015-05-05 13:23:14

标签: regex

我想要一个REGEXP用于mysql查询 我尝试了这个正则表达式并使用.*标记了$之间的任何内容以标记字符串的结尾。

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

我怎么能得到它?

3 个答案:

答案 0 :(得分:3)

如果您不希望在2之前有任何其他数字,那么您可以使用

Battlefield.*\D2$

答案 1 :(得分:3)

如果不允许这些数字,则应为:

Battlefield[^\d]+2$

答案 2 :(得分:0)

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