"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Processar espaços em branco opcionais em expressões regulares para extrair com precisão dados

Processar espaços em branco opcionais em expressões regulares para extrair com precisão dados

Postado em 2025-04-14
Navegar:173

How to Handle Optional Whitespace in Regular Expressions for Accurate Data Extraction?

whitespace opcional regex: ignorando espaços nos valores do atributo

Na programação, existem cenários em que você precisa lidar com instâncias em que as strings contêm whitespaces opcionais. Isso pode ser desafiador ao escrever expressões regulares para extrair dados com precisão. preg_match ('#& lt; a href = "(.*?)" Title = "(.*?)" " src = "(.*?)" [\ s*] largura = "150" [\ s*] altura = "(.*?)" " $ image = $ imageMatch [4];

Este código extrai o atributo SRC de uma imagem da marcação html. No entanto, ele não consegue lidar com casos em que não há espaço em branco entre certos atributos, como:

# Get Image data
preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch);
$image = $imagematch[4];
& lt; a href = & quot;/wiki/arquivo: Sky1.png " título = "Arquivo: Sky1.png" & gt; & lt; img alt = "Sky1.png" src = "http: //media-mcw.cursecdn.com/thumb/5/56/sky1.png/150px-sky1.png" largura =" 150 " altura = "84" & gt; & lt;/a & gt;

ou
<a href="/wiki/File:Sky1.png" title="File:Sky1.png"><img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png"width="150" height="84"></a>
& lt; a href = "/wiki/file: Tallgrass.gif" título = "Arquivo: Tallgrass.gif" & gt; & lt; img alt = "Tallgrass.gif" src = "http: //media-mcw.cursecdn.com/3/34/tallgrass.gif" largura = "150" altura = "150" & gt; & lt;/a & gt;

para resolver esse problema, podemos usar o espaço de branco opcional regex. Isso nos permite ignorar os espaços entre os caracteres. Aqui está como:
 #& lt; a href \ s? = & Quot; (.*?) & Quot; título \ s? = & quot; (.*?) "& gt; & lt; img alt \ s? =" (.*?) " src \ s? = & quot; (.*?) & quot; [\ s*] width \ s? = & quot; antes = significa que um espaço é permitido, mas opcional.
Declaração de lançamento Este artigo é reproduzido em: 1729729039 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3