Kom ihåg mig?
Home Menu

Menu


RegExp - Plocka ut text mellan " och "

Ämnesverktyg Visningsalternativ
Oläst 2008-01-06, 12:45 #1
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
Hej

Som rubriken lyder så försöker jag plocka ut text som ligger mellan " och ", men jag har tyvärr misslyckats med det.

Ex: Denna text påverkas inte "Men denna text påverkas"

Jag försöker även plocka ut texten som står efter ett ', t.ex.

Ex: Denna text ska inte matcha mönstret 'Men denna text ska göra det

Är det någon som kan hjälpa mig med någon av dessa regexp mönstrena?
Ungdebatt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-06, 13:05 #2
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
Reager Reager är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 151
Till den första bör väl

"(.*)?"

fungera

och till den andra

'(.*)?

Är dock ingen stjärna på detta så det kanske finns bättre mönster att använda.
Reager är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-06, 13:10 #3
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Fall 1: Splitta på " och ta varannan.
Fall 2: \'(.*)$ borde fungera i det exempel du ger.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-06, 14:13 #4
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
jag prövade med \'(.*)$ och det fungerade finfint, men bara på den första raden den hittade. När jag försökte loopa igenom texten som skulle kontrolleras med följande kod:

Kod:
   	intMatches = 1
   
   	Do Until intMatches = 0
    .Pattern = "'(.*)?"
    Set intMatch = .Execute(strNewText)
    strNewText = .Replace(strNewText,"<span class=""classGray"">'$1</span>")
    
    intMatches = intMatch.Count
   	Loop
   	
   	Set intMatch = Nothing
så fick jag detta felmeddelande:

Citat:
ctive Server Pages error 'ASP 0113'

Script timed out

/code/Index.asp

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.
Ungdebatt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-01-06, 14:58 #5
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
Ungdebatt Ungdebatt är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2007
Inlägg: 30
Jag löste det med följande koder:

Kod:
   	intMatches = 1
   
   	Do Until intMatches = 0
    .Pattern = "\'([^\[]*?)[\n]"
    Set intMatch = .Execute(dd)
    strNewText = .Replace(strNewText,"<span class=""classGray"">'$1"&vbcrlf&"</span>")
    
    intMatches = intMatch.Count
   	Loop
   	
   	Set intMatch = Nothing

Kod:
   	intMatches = 1
   
   	Do Until intMatches = 0
    .Pattern = "\"([^\[]*?)\""
    Set intMatch = .Execute(strNewText)
    strNewText = .Replace(strNewText,"<span class=""classGreen"">""$1""</span>")	
    
    intMatches = intMatch.Count
   	Loop
   	
   	Set intMatch = Nothing
Tack för hjälpen.
Ungdebatt är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:02.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017