webForumDet fria alternativet

Skapa söksträng

Webbutveckling

3 svar · 431 visningar · startad av paraxe

Medlem sedan apr. 2004298 inlägg
Frågan#1

Hej alla,

Nu är jag väldigt tveksam var jag ska posta denna tråd men jag gör det här.

Det är så att jag vill skapa ett sök-sträng till SQL. D.v.s man skall i textfältet kunna använda +(plus) -(minus) och "(tumtecken).

Inkommande textsträngen kan se ut så här;

sql +.net -"vb script" asp

Kan man med Regex formatera denna sträng till;

Content LIKE '%sql%' AND Content LIKE '%.net%' AND NOT LIKE '%vb script% OR Content LIKE '%asp%' ???

Spåket jag använder är C#

Mvh

Pär

Medlem sedan jan. 20021 122 inlägg
#2

Nu har jag inte möjlighet att pröva detta eftersom jag inte har något program som klarar conditionals i regexpar, men det borde åtmindstone vara lätt att fixa eventuella missar.

(\+|-)?(")?(?(\2)[^"]+"|[^ ]+)

Först så tar den ett plus eller minus om det finns, sen ett " om det finns, och efter det så ska den se om den fångade någon ", och i så fall så tar den fram till nästa ", annars tar den fram till nästa mellanslag.

Du får slå in det i någon replace-funktion som tar hand om sqlsyntaxen.

Medlem sedan juni 20019 519 inlägg
#3

Hmm.. försöker göra något liknande med vanlig ASP. Men jag får inte "ok" lösning.... inte ens med replace... någon som löst detta problem ännu?

Medlem sedan apr. 2004298 inlägg
#4

voigtann1 skrev:

Hmm.. försöker göra något liknande med vanlig ASP. Men jag får inte "ok" lösning.... inte ens med replace... någon som löst detta problem ännu?

Den här tråden kankse hjälper dig?
http://www.webforum.nu/showthread.php?s=&postid=37155#post37155

Mvh

Pär

274 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)