我必须遍历文本文件并返回文本中找到的子字符串,这些子字符串长度为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]:第8行的D:\ wamp \ www \ pdf2text.php中的分隔符不能是字母数字或反斜杠
答案 0 :(得分:1)
如果字符串始终采用(4位数字)k(3位或4位数字)的形式,如RedBaron所述,此正则表达式将起作用:
\d{4}k\d{3,4}
答案 1 :(得分:0)
if else
怎么样?if ((strlen($string) ==8 || strlen($string) ==9 ) && strpos($string, 'k') ) {
//do somethig
}