给定以下字符串,我如何匹配其末尾的整数?

$string = "Conacu P PPL Europe/Bucharest 680979";

我必须告诉您,字符串的长度不是恒定的。

我选择的语言是PHP。

谢谢。

最佳答案

您可以将regex与 preg_match 结合使用,如下所示:

$string = "Conacu P PPL Europe/Bucharest 680979";

$matches = array();
if (preg_match('#(\d+)$#', $string, $matches)) {
    var_dump($matches[1]);
}

然后您会得到:
string '680979' (length=6)

这是一些信息:
  • 正则表达式开头和结尾处的#是分隔符–它们没有任何意义:它们仅指示正则表达式的开头和结尾;并且您可以使用任何想要的字符(人们经常使用/)
  • 模式结尾处的'$'表示“字符串结尾”
  • ()表示您想捕获它们之间的内容

    带有preg_match
  • ,作为第三个参数给出的数组将包含那些捕获的数据
  • 该数组中的第一项将是整个匹配的字符串
  • 和下一个将包含一组()
  • 中匹配的每个数据
  • \d表示“数字”
  • +表示一个或多个时间

  • 所以 :
  • 匹配一个或多个数字
  • 字符串末尾的


  • 有关更多信息,您可以看看PCRE Patterns Pattern Syntax

  • 10-04 22:35
    查看更多