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]:8行目のD:\ wamp \ www \ pdf2text.phpで、区切り文字を英数字または円記号にすることはできません。

4

2 に答える 2

1

この正規表現は、RedBaronで説明されているように、文字列が常に(4桁の数字)k(3桁または4桁の数字)の形式である場合に機能します。

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

于 2013-03-19T07:59:14.903 に答える
0

ifelseはどうですか

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