регулярное выражение - между необязательными кавычками - PullRequest
2 голосов
/ 24 декабря 2011

Пример строк для поиска:

name = 'bob'
person=mary
init= 'tim', 
first =sarah,
,name=o'donnel
surny = 'o'doherty',
extend = 'marshall , mathers (111)'

Приведенный ниже поиск по регулярному выражению ошибочен:

[ ]*,?[ ]*(.+)[ ]*=[ ]*'?(.*)'?[ ]*(,|;)*[ ]*

Замените регулярное выражение с двумя группами: \1 \2

ЖелаемыйРезультаты ниже:

name bob
person mary
init tim 
first sarah
name o'donnel
surny o'doherty
extended marshall , mathers (111)

Псевдокод в порядке:

optional spaces,one optional comma,optional spaces,any characters (grouped),optional spaces,optional spaces,one optional single quote,any characters (grouped),one optional single quote,optional spaces,one optional comma or semicolon,optional spaces

1 Ответ

4 голосов
/ 24 декабря 2011

Просто сделайте это не жадным: (.+) -> (.+?) и (.*) -> (.*?), демо .

...