gpt4 book ai didi

php - 正则表达式 - 在字符串中查找 8 位数字

转载 作者:行者123 更新时间:2023-12-05 08:26:41 26 4
gpt4 key购买 nike

我想使用正则表达式从字符串中提取一个 8 位数字。

测试字符串是:

  1. 你好 82799162
  2. 236232 (82342450)
  3. 测试数据8979

所需的相应输出应该是

  1. 82799162
  2. 82342450
  3. null

我试过以下代码:

  • preg_match('/[0-9]{8}$/', $string, $match);
  • preg_match('/\d{8}$/', $string, $match);

但都没有从 236232 (82342450) 中检索号码。

最佳答案

如果正则表达式要捕获正好 8 位数字,则必须包含:

  • \d{8} 作为中心部分,
  • “之前”条件,确保没有数字出现在你的匹配项之前,
  • 一个“后”条件,确保没有数字出现在您的匹配之后

一种可能的解决方案是使用负向后视/前视:

(?<!\d)\d{8}(?!\d)

另一种选择是词边界断言(在两端):

\b\d{8}\b

我认为,像 [0-9]{8} 这样的正则表达式是不够的,因为它还捕获来自较长数字序列的前 8 位。你满意吗?

关于php - 正则表达式 - 在字符串中查找 8 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52033125/

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