0

我必须遍历文本文件并返回在文本中找到的 8 或 9 个字符长并包含字母“k”的子字符串。必须找到的子字符串的一些示例:1998k1748、1999k426、2003k3429、2012k325 等。这种搜索的正则表达式是什么?我正在使用 PHP。

任何帮助,将不胜感激。

这是我在使用 Chirag 的表达后得到的:

error_reporting(E_ALL);

shell_exec('D:\wamp\bin\xpdf\bin32\pdftotext.exe d.pdf x.txt'); 

$mypdf = file_get_contents("x.txt");

preg_match('\d{4}k\d{3,4}', $mypdf, $result);

echo $result[0];

但我收到以下错误:警告:preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in D:\wamp\www\pdf2text.php on line 8

4

2 回答 2

1

如果字符串始终采用 RedBaron 所述的 (4-digit-number)k(3-or-4-digit-number) 形式,则此正则表达式将起作用:

\d{4}k\d{3,4}

于 2013-03-19T07:59:14.903 回答
0

if else 怎么样

if ((strlen($string) ==8 || strlen($string) ==9 ) && strpos($string, 'k') ) {
//do somethig
}
于 2013-03-19T07:53:29.910 回答