PHPで大きなtxtファイル(約12MB)を読むのには本当に困っています。私は、正規表現に一致し、最初の別の正規表現のオカレンスを検索して、この正規表現を後方に検索してから、この2つのマッチの間の文字列を抽出する必要があります。ここで実際の例である:PHPのリバース正規表現
PROCESSO:583.00.2012.105981
No ORDEM:01.19.2012/000154
CLASSE:PROCEDIMENTO SUMÁRIO (EM GERAL)
REQUERENTE:ASSETJ ASSOCIAÇÃO DOS SERVIDORES DO TRIBUNAL DE JUSTIÇA DO ESTADO DE SÃO PAULO
ADVOGADO:273919/SP - THIAGO PUGINA
Requerido:TIM CELULAR S/A E OUTRO
VARA:19a. VARA CÍVEL
PROCESSO:583.00.2012.105970
No ORDEM:01.07.2012/000134
CLASSE:PROCEDIMENTO ORDINÁRIO (EM GERAL)
REQUERENTE:CARLOS NEUMANN
ADVOGADO:79117/SP - ROSANA CHIAVASSA
Requerido:SUL AMÉRICA SEGURO SAÚDE S/A
VARA:7a. VARA CÍVEL
スクリプトがこのコードを見つける必要があります:273919/SP:コードの後方(正規表現[0-9] {6}/SP) チェック:583.00.2012.105981(正規表現: [0-9] {3}。[0-9] {2}。[0-9] {4}。[0-9] {6})
そして、その間のすべてのテキストを取得します。
ファイルを介してブロックの一部が複数の273919/SPタイプを持っており、それは私ができることはすべてと台無しになるので、私は同じパターンで、これらの正規表現の両方とするpreg_matchを行うことはできません
行う?あなたはなにか考えはありますか?
私の正規表現は安っぽいであれば、私はそれで新しいですし、それを学ぶことは非常に困難です申し訳ありません:P
EDIT:
コードが表示されていることを別のフォームを確認してください:
583.00.2012.100905-6/000000-000 - no ordem 82/2012 - Procedimento Sumário (em geral) - JOSE APARECIDO DOS
SANTOS X SEGURADORA LIDER DOS CONSORCIOS DO SEGUROS DPVAT S/A - Fls. 79 - Demonstre o autor, por meio
de documento idôneo (declaração de bens e renda e comprovante de pagamento), a necessidade de obtenção do benefício
da justiça gratuita, a fim de ser cumprido o disposto no artigo 5o, LXXIV da CF. Após, tornem os autos conclusos. Int. - ADV
GUILHERME DIAS GONÇALVES OAB/SP 302632 - ADV TIAGO RAFAEL OLIVEIRA ALEGRE OAB/SP 302811
それは私の問題です。 OAB/SP 302632とOAB/SP 302811の2つの出現があり、最後のものを取得し、id 583.00.2012.100905-6/000000-000とOAB/SP 302811
の間でテキストを抽出する必要があります。数字は固定されていないので、OAB/SP 302811、OAB \ SP \ s \ d {6}
なぜ逆の順序で検索する必要がありますか? –
私は273919/SP正規表現の最初の出現で停止することができないので、ブロックには1つ以上のものが含まれている可能性があります。だから、私はこの文字列を私が遭遇するすべての273919/SP正規表現に対して抽出しなければならないし、後方に移動して583.00.2012.105981正規表現を見つけなければならない –
'AVOCADO:'と 'PROSECCO:'キー?または、1つのブロックのみを抽出する必要はありますか?間に '。*? 'をつけて自然な順序で検索文字列を使ってみましたか? – mario