Regex 正则表达式字符串结尾不起作用

Regex 正则表达式字符串结尾不起作用,regex,Regex,我想要一个用于mysql查询的REGEXP。 我尝试使用这个regexp并使用*标记介于和$之间的任何内容来标记字符串的结尾 Battlefield.*2$ 我得到的结果是正常的,因为“2”和“2142”都以“2”结尾: 我的目标是: Battlefield 2 Battlefield :2 Battlefield: 2 Battlefield collection 2 如何获取它?如果您不想在2之前使用任何其他数字,则可以使用 Battlefield.*\D2$ 如果不允许使用数字,则应

我想要一个用于mysql查询的REGEXP。
我尝试使用这个regexp并使用
*
标记介于和
$
之间的任何内容来标记字符串的结尾

Battlefield.*2$
我得到的结果是正常的,因为“2”和“2142”都以“2”结尾:

我的目标是:

Battlefield 2
Battlefield :2
Battlefield: 2
Battlefield collection 2

如何获取它?

如果您不想在2之前使用任何其他数字,则可以使用

Battlefield.*\D2$

如果不允许使用数字,则应为:

Battlefield[^\d]+2$

试试
battley.*\D2$
。你需要用数据链路连接器包购买特优产品。对不起,这个限制要大得多。而
[^\d]
可以替换为
\d
,因为OP没有精确的编程语言(这很糟糕),您可能应该在答案中只保留regex部分。
Battlefield[^\d]+2$
$string =~ m/Battlefield[ ]?[A-Za-z]*[ ]?[:]?[ ]?2$/)