The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
null string matchande i sed? Allasso Shell-programmering och Skript 6 05-30-2008 08:44
Regex deepakpv Shell-programmering och Skript 6 03-28-2007 05:18
Regex? Please help lunac UNIX for Dummies Frågor & Svar 7 01-30-2007 01:13
jämföra null med icke-null Nitin Shell-programmering och Skript 8 11-04-2006 07:58
hitta-regex: matchningsalternativ flera förlängningar r0sc0 Shell-programmering och Skript 2 12-08-2005 02:32

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-05-2008
deckard's Avatar
Deckard deckard is offline
Registered User
  
 

Join Date: Jul 2002
Ort: Ohio
Inlägg: 135
[LÖSAS]: RegEx: Matchande Null?

Jag använder webbadressen Regex inslag i Squid för att webbplatser via en lista med regex strängar för att matcha tillåtna domäner. Den regex faktiskt kopieras från vår tidigare fullmaktshavare lösning och det verkade "bara arbete". Men vi har nyligen upptäckt att vissa domäner (troligen på grund av virtuella värdar eller mottagande rubrikinformation konfiguration beroende på om det är Apache eller IIS respektive) misslyckas om de används utan prefixet www i webbadressen. Nedan är ett exempel på vad som ibland fungerar:


Kod:
http://.*\.microsoft\.com/.*

Den ".* \." innan "microsoft \. com del bör innebära, valfritt antal tecken (noll eller flera) följt av en". " Jag ser felet i fråga om "\". del av regex och planerar att åtgärda det. Men jag har inte kunnat hitta ett sätt att matcha både "www.microsoft.com" och "microsoft.com". Här är vad jag trodde skulle fungera:


Kod:
http://[!.*|.*\.]microsoft\.com/.*

Jag erkänner att bli riktigt dålig med regex, så ska du inte vara för hård mot mig snälla. Jag har bara aldrig haft möjlighet att "få det" 100%. Det behöver inte sägas att dessa fungerar inte för mig alls. Det stämmer inte "microsoft.com" eller "www.microsoft.com". Jag har försökt några begränsade tester med "grep" för att försöka finna en lämplig lösning. Men vad är det som jag verkligen försöker att matcha? Vid första jag anta jag ville ha ett blanksteg karaktär, men jag är inte ute efter "microsoft.com". Då tänkte jag: ett null? Men det verkar vara omöjligt att matcha eftersom det är egentligen inte en match alls, eftersom det inte finns några tecken där. Jag är säker på att någon som är expert på regex skulle titta på detta och ge något vansinnigt enkelt. Jag verkligen inte vill göra detta:


Kod:
http://[.*\.microsoft\.com/.*|microsoft\.com/.*]

eller ännu värre, detta:


Kod:
http://.*\.microsoft\.com/.*
http://microsoft\.com/.*

Några förslag? Tack på förhand ...

Senast redigerad av Deckard, 06-05-2008 vid 11:57.. Orsak: Mottagna en lösning på problemet.
  #2 (permalänk)  
Old 06-05-2008
spirtle spirtle is offline
Registered User
  
 

Join Date: juni 2008
Ort: Skottland
Inlägg: 150
Jag är bekant med Squid, och kanske regexps arbete annorlunda där, men det verkar på mig som om du behöver? " operatör som matchar föregående uttryck 0 eller 1 gånger, t.ex.

Kod:
http://(www\.)?microsoft\.com/

gör vad du vill när den används som en grep argument.
  #3 (permalänk)  
Old 06-05-2008
deckard's Avatar
Deckard deckard is offline
Registered User
  
 

Join Date: Jul 2002
Ort: Ohio
Inlägg: 135
Tack!

Ditt förslag avvecklas som arbetar för mig. Jag bytte alla mina rader i följande format:


Kod:
http://(.*\.)?microsoft\.com/.*

Det verkar ha fungerat bra. Jag visste att någon här skulle finna att detta är ett enkelt problem att lösa.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 08:51.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0