Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   RegEx, сложный парсинг строки (https://javascript.ru/forum/misc/57712-regex-slozhnyjj-parsing-stroki.html)

Sanu0074 16.08.2015 01:50

RegEx, сложный парсинг строки
 
Здравствуйте, помогите написать регулярку, и можно ли вобще в данном случае ее написать?
На входе строка:

Код:

ss.aa=x.zv xyz (ss.abc=p.efg wtp op.prm xx yyy cbrx) xxx ac.poi>bc.oo rty ac.poi<zc.oo
а должны из нее получить строку:

Код:

'ss'.'aa'='x'.'zv' xyz ('ss'.'abc'='p'.'efg' wtp 'op'.'prm' xx yyy cbrx) xxx 'ac.'poi>'bc'.'oo' rty 'ac'.'poi'<'zc'.'oo'
В общем опираться тут нужно на точки и пробелы, начало и конец строки. То что разделено точкой должно быть обернуто кавычками. Как по мне, это мега-сложно. Помогите это сделать! Благодарен за ваше бесценное время)

Decode 16.08.2015 02:28

Мб так?
var str = 'ss.aa=x.zv xyz (ss.abc=p.efg wtp op.prm xx yyy cbrx) xxx ac.poi>bc.oo rty ac.poi<zc.oo';
console.log( str.replace(/(\w+)\.(\w+)/g, "'$1'.'$2'") );

Цитата:

Сообщение от Sanu0074
То что разделено точкой должно быть обернуто кавычками.

Вот тут не сходится.
Цитата:

Сообщение от Sanu0074
'ac.'poi>'bc'.'oo' rty 'ac'.'poi'<'zc'.'oo'


Deff 16.08.2015 03:19

var str = "ss.aa=x.zv xyz (ss.abc=p.efg wtp op.prm xx yyy cbrx) xxx ac.poi>bc.oo rty ac.poi<zc.oo"
str = str.split(".").join("'.'").replace(/(^|[^a-z'])(\w+')/g,"$1'$2").replace(/('\w+)(?!['\w])/g,"$1'");
alert(str)


Часовой пояс GMT +3, время: 18:32.