webForumDet fria alternativet

Matcha allt mellan {}

Programmering

6 svar · 372 visningar · startad av Nickemannen

Medlem sedan aug. 20003 575 inlägg
Frågan#1

hej jag är ute efter ett pattern som matchar allting mellan

{
}

Det kan se ut på flera sätt

{
#test 55 66 "sdsd"
#test 5434534 "dsfsdf"
}

Sedan så innehåller texten som skall matchas mot fler sådana här men jag vill matcha dom var för sig.

Medlem sedan juli 2003465 inlägg
#2

patt = "\{(.|\n)+\}"
kanske?

Medlem sedan aug. 20003 575 inlägg
#3

Glitter skrev:

patt = "\{(.|\n)+\}"
kanske?

Problemet med den är att den sväljer båda dessa nedanför när jag vill att den
skall dela upp detta på två matches.
{
dsfsdf
}

{
sdfsdfsdf
}

det tråkiga är bara att inuti måsklamrarna kan det finnas {} som den måste ta med.
{
dfsdfsdff {"dsfsdf", dfsdfsdf}
}

Medlem sedan aug. 20003 575 inlägg
#4

För att göra det lite enklare kanske :S.
Så måste varje rad inom

{} börja med # alltså

{
#Test "test" {"prov", test} prov
#Test "test" {"prov", test} prov

Medlem sedan aug. 20003 575 inlägg
#5

\{(\s+(#TRANS.*))*\n\}

Medlem sedan juni 20008 205 inlägg
#6

\{(.|\n)+?\}
Utan frågetecknet är + och * greedy, d.v.s. de matchar så mycket som de kan. Med ett efterföljande frågetecken försöker de matcha så lite som möjligt.

Medlem sedan aug. 20039 340 inlägg
#7

Flyttat från Regular Expressions på grund av att provtiden för forumet har gått ut

381 ms totalt · 3 externa anrop · v20260731065814-full.c4b5ca48
121 ms — deklarationer (db)
126 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)