gpt4 book ai didi

php - 如何更正我的正则表达式以不匹配以字符开头的特定表达式

转载 作者:可可西里 更新时间:2023-11-01 01:03:32 26 4
gpt4 key购买 nike

在 PHP 中,我试图创建一个没有成功的正则表达式,它应该匹配由数字和单个“结束”字符组成的表达式,只有数字前面没有 F。这是一个要匹配的示例字符串

$test = "123A456C789XF765S333333AF444G";

和下面的正则表达式

preg_match_all("/(?<!F)(\d+)([ASTCGX])+/", $test, $matches)

找到以下表达式:

123A
456C
789X
65S
33333A
44G

虽然我期望只有以下匹配:

123A
456C
789X
333333A

我不想将数字 \d+ 分开以匹配正则表达式。像 F\d+[ACXSG]+ 这样的表达式应该匹配!如何实现?

最佳答案

我建议你使用这个:

preg_match_all("/(?<![\dF])(\d++)([ASTCGX])/", $test, $matches);

解释:

(?<![\dF])       # not preceded by F or a digit (numbers can't be trunked)
\d++ # one or more digit (with a possessive quantifier, optional but better)
[ASTCGX] # one of these characters

关于php - 如何更正我的正则表达式以不匹配以字符开头的特定表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16838214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com