字符串包含 5 个数字和行



我正在循环使用包含行的txt文件,例如:

asdasdasd
lorem ipsum
lorem 12345-1
more lorem ipsum bacon

由此我需要知道该行何时找到文本 12345-1

乞讨中的洛雷姆是相对的。

我可以使用这样的条带吗

if (stripos('/^[1-9]{0,5}$-1/', $line) !== false)

我不知道正确的正则表达式。当然,12345 可以是任何东西,但它总是 5 位数字并以 -1 结尾

要找到一个 5 位数字的块,后跟 -1 ,您可以使用

/b[0-9]{5}-1b/

或者,如果单词边界 ( b ) 限制性太强,请使用环顾四周:

/(?<!d)d{5}-1(?!d)/

查看正则表达式演示

preg_match一起使用

if (preg_match('/b[0-9]{5}-1b/', $line))
{
     echo "Found!";
}

图案详情

  • b - 一个前导词边界(或(?<!d) - 如果当前位置之前有一个数字,则使正则表达式失败的负面外观)
  • [0-9]{5} - 5 位数字
  • -1 - 文字字符序列-1
  • b - 尾随单词边界(或(?!d) - 如果当前位置后面有一个数字,则使正则表达式失败的负前瞻)

最新更新