2016-05-01 21 views
0

Ich brauche eine Linie zu analysieren, die als eine von ihnen aussehen:Abhängigkeit von Symbol in regulären Ausdrücken

define a as 5 
define b as 5.5 
define c as "hello, stackoverflow" 

Ich versuche, dies mit regulären Ausdrücken zu tun. Dazu Ich schrieb Muster
'define ([a-zA-Z_]\w*) as ([\w"][\w \.]*[\w"]*)'
Mein Problem, dass ich nicht verstehe, ist es eine Möglichkeit zu überprüfen: wenn smth nach Wort as beginnt mit " dann sollte es mit " beenden. Danke für Kommentare und Vorschläge.

+1

Vielleicht ['definieren ([a-zA-Z _] \ w *) als (" [^ "] +" | [\ w.] +) '] (Https://regex101.com/r/pN1jE8/1) ist genug? –

+0

Welche Programmiersprache verwenden Sie? Welche Programmiersprache verwenden Sie? –

+0

@ WiktorStribiżew danke. Das ist es. Meine schlechte;) – Aero

Antwort

1

Ich schlage vor, mit Wechsel:

define ([a-zA-Z_]\w*) as ("[^"]+"|[\w.]+) 

anzeigen regex demo

Den ("[^"]+"|[\w.]+) erfaßt entweder einen Teil zitiert, die keine Anführungszeichen nach innen hat ("[^"]+" - leer "", ermöglichen * statt + verwenden) - OR - 1+ Wortzeichen oder Punkte (übereinstimmend mit [\w.]+).

Verwandte Themen