Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如果之间没有数字,则获取事件_Regex - Fatal编程技术网

Regex 如果之间没有数字,则获取事件

Regex 如果之间没有数字,则获取事件,regex,Regex,我有这样的弦: 如果回合开始时血量低于30%,则大脑角色的ATK提升2.75倍,chain提升1.5倍;否则,大脑角色的ATK提升2.5倍 我需要的是这样的东西: Boosts (their )?ATK.+by 2.75x 有了这个正则表达式,我会将一个角色标记为2.75倍ATK增强。问题在于当我使用这个正则表达式(查找1.5个ATK助推器)时: 这也匹配我的字符串,但不应该匹配。我尝试使用负回溯和负前瞻,但没有得到有用的结果 那么,如果ATK和我想要的数字之间有一个数字,我怎么能拒绝匹配呢?

我有这样的弦:

如果回合开始时血量低于30%,则大脑角色的ATK提升2.75倍,chain提升1.5倍;否则,大脑角色的ATK提升2.5倍

我需要的是这样的东西:

Boosts (their )?ATK.+by 2.75x
有了这个正则表达式,我会将一个角色标记为2.75倍ATK增强。问题在于当我使用这个正则表达式(查找1.5个ATK助推器)时:

这也匹配我的字符串,但不应该匹配。我尝试使用负回溯和负前瞻,但没有得到有用的结果


那么,如果ATK和我想要的数字之间有一个数字,我怎么能拒绝匹配呢?

使用
\D*
模式而不是
+
来只匹配
ATK
1.5
之间的非数字字符:

Boosts (their )?ATK\D*by 1\.5x

注意,如果
表示文字句点,则必须对其进行转义

Boosts (their )?ATK\D*by 1\.5x