Я пытаюсь написать регулярное выражение для Java-программы, которое соответствует всем фрагментам кода JS, например:
<script>
window.box||((box=function(){box.q.push(arguments);}).q=[]);
box('ns:foo','event', 'bar', {delimiter:'null',display_name:'baz',id:'12345',name:'attr_1',value:'attr_val',event_type:'abc'});
</script>
Это то, что я до сих пор:
private final static String SCRIPT_CODE_REG_EXP = "(^<script>\\n.*\\n box(\\('ns:.*','event', '%s',)(\\{%s\\}){1}\\)(;\\n</script>$)";
Значения JSON {разделитель: 'null', display_name: 'baz', id: '12345', имя: 'attr_1', значение: 'attr_val', тип события: 'abc'} будет передано как часть String.format ().
Я не могу сопоставить фрагмент JS с этим регулярным выражением.