2012-06-20 18 views
41

Innanzitutto, ho controllato questo question ma lo answer fa riferimento a un servizio obsoleto.
Esiste un motore di ricerca che supporta la ricerca di espressioni regolari?

Quindi c'è un software (o software, non mi interessa) basato sul Web che fornisce la ricerca di contenuti Internet con espressioni regolari?

+0

Credo che otterresti una risposta più sintetica se dovessi fornire [maggiori dettagli] (http://whathaveyoutried.com/) su ciò che stai cercando di realizzare. –

+15

Sto cercando di ottenere risultati basati su espressioni regolari, esattamente come dice il titolo della mia domanda! – skafandri

+0

Ricerca Google è in grado di trovare corrispondenze di alcune semplici espressioni regolari. Vedi [questa risposta] (http://webapps.stackexchange.com/questions/19673/is-there-a-way-to-search-in-google-using-regular-expressions-regex/82769#82769) per un esempio di ricerca di espressioni regolari. –

risposta

16

Fammi scrivo qui una risposta dal superuser.com question a causa della mia totale solidarietà con l'autore:

citazione dal Ask Metafilter:

L'unico modo possibile per fare ricerca di parole chiave efficiente su centinaia di terabyte (o qualunque sia il loro indice fino a questi giorni) è quello di precomporre un indice di parole.

In effetti un motore regex completo è completo per la turazione, e puoi scrivere espressioni regolari arbitrarie che diverranno quasi infinite quantità di tempo e memoria della CPU. Per tutti questi motivi sarebbe pazzia tecnica per loro di offrire regex alla ricerca al pubblico in generale.

+0

Aspetta, se intendi creare un piccolo servizio web, di quello che hai ragione (in in alcuni casi tale servizio sarà molto utile). Ma se stiamo parlando di un'implementazione di un tipo di crowler web completo, penso che sia follia (beh, è ​​possibile, ma molto tempo consumabile e MIPS). – gahcep

+9

Quindi le query di timeout che richiedono troppo tempo non devono essere pazzesche. –

+1

@MikeBantegui Eh? Ci sono molti servizi che valutano le espressioni in un linguaggio completo di turing. Se impiega troppo tempo, si arrende. – Navin

2

Non esiste una ricerca immediata per motore regex. Ciò è probabilmente dovuto al modo in cui le pagine sono indicizzate. Consentire uno a grep del web richiederebbe un sacco di potenza computazionale.

+8

Il tuo link è morto –

0

Sebbene sia improbabile trovare un sito che utilizza la ricerca completa delle espressioni regolari, google ha alcune possibilità di fare corrispondenze. A seconda di ciò che stai cercando di ottenere, potrebbe essere sufficiente.

GoogleGuide sembra essere abbastanza approfondito con alcune delle opzioni disponibili. Forse se dai un esempio del tipo di query che vuoi cercare, possiamo trovare una soluzione?

+1

Ho controllato questo, ma è piuttosto povero davvero molto povero! Non riesco a eseguire nessuna ricerca * semplice * (semplice rispetto a quello che posso fare con le espressioni regolari), come \ paul * \ (googling paul * è ** modo ** diverso da \ paul * \\) o \ paul {3} \ e molti altri casi .. – skafandri

+0

Questo è anche piuttosto interessante per la ricerca energetica http://www.johntedesco.net/blog/2012/06/21/how-to-solve-impossible-problems-daniel-russells-awesome- google-search-techniques/ – MutterMumble

1

dayyan è corretto, è indici inversi che rendono i motori di ricerca veloci; non c'è modo di accelerare la ricerca regex su un petabyte di contenuti se hai solo 100 terabyte di flash disk. Ricerche di parole chiave, indice inverso, nessun problema.

Il web grep di blekko (https://blekko.com/ws/+/webgrep) supporta regex, ma la maggior parte delle ricerche che otteniamo sono per stringhe costanti, di solito in HTML, perché è interessante : chi usa i microformati? chi usa varie librerie javascript? chi usa vari sistemi di commento? E così via.

Se ci hai inviato una regex, saremo felici di eseguirlo per te.

L'esecuzione di queste ricerche consiste in un lavoro di MapReduce eseguito su tutto il codice HTML nella nostra ricerca per indicizzazione. Ecco perché ci vuole un po '(un giorno o due) per ottenere una risposta.

+0

Il collegamento è interrotto. – Navin

+1

Questo è corretto, blekko è stato acquistato da IBM il 27 marzo 2015 e IBM ha interrotto il funzionamento del motore di ricerca pubblico di blekko in quella data. –

Problemi correlati