Регулярка для многострочного комментария
Помогите сделать регулярку для многострочного комментария...
Пока сделал так
<style type='text/css'>
span {
color: green;
}
</style>
<pre id='test'>
AMCL ;Авторы;Мобильный клиент;;[ 10/09/2014 16:27 ]
N ; * Включить установки мобильного клиента *
#define ABC 1
n
d CLR^ASYS()
i i=0 w /cup(y,1),std d j krt s y=y+1 q
/* s a=Locate(abc) */
/// йцукенгшщзхъёфывап
/* ролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮ */
/* йцукенгшщзхъёфывап d CLR^ASYS
ролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮ */
w /ed(2)
j des ABCDq
set x=10
s y=1
s o=##class(user.tmp).%New()
/*
s x=1
s n=0
*/
s:$d(@%zg@($g(%zn,0),%zz)) @%zz=@%zg@($g(%zn,0),%zz)
s y=@glb@(10)
s i=""
/*
d ad
*/
w $j,$i,$zzu
/* s a=$Locate(abc) */
s f=$$Fld^ASYS
w $$Cent^zfunc("",80)
</pre>
<script type='text/javascript'>
var o=document.getElementById('test');
var txt=o.innerHTML;
txt=txt.replace(/(\/\*[^\*\/]*\*\/)/g,'<span>$1</span>')
o.innerHTML=txt
</script>
Но это не сработает если внутри комментария будут символы * или /... :( |
Правда все это осложнится применением в парсере одного дельфийского компонента...
Но это уже вообще наши проблемы. Пока просто есть интерес в просто JS... |
ksa,
<style type='text/css'>
span {
color: green;
}
</style>
<pre id='test'>
AMCL ;Авторы;Мобильный клиент;;[ 10/09/2014 16:27 ]
N ; * Включить установки мобильного клиента *
#define ABC 1
n
d CLR^ASYS()
i i=0 w /cup(y,1),std d j krt s y=y+1 q
/* s a=Locate(abc) */
/// йцукенгшщзхъёфывап
/* ролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮ */
/* йцукенгшщзхъёфывап d CLR^ASYS
ролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮ */
w /ed(2)
j des ABCDq
set x=10
s y=1
s o=##class(user.tmp).%New()
/*
s x=1
s n=0
*/
s:$d(@%zg@($g(%zn,0),%zz)) @%zz=@%zg@($g(%zn,0),%zz)
s y=@glb@(10)
s i=""
/* *****
d ad
*/
w $j,$i,$zzu
/* s a=$Locate(abc) */
s f=$$Fld^ASYS
w $$Cent^zfunc("",80)
</pre>
<script type='text/javascript'>
var o=document.getElementById('test');
var txt=o.innerHTML;
txt=txt.replace(/(\/\*[\s\S]*?\*\/)/g,'<span>$1</span>')
o.innerHTML=txt
</script>
|
|
рони, с этого и начали... Но там видать "жадный" поиск стоит... Выделяет все от первого /* до последнего */ :(
|
Цитата:
Я пробовал вот как /(\/\*[\s\S]*\*\/ Т.е. без ? знака... Даже предположить не мог, что он тут к месту, да еще и будет определяющим! :blink: * ведь и так предполагает от 0 до любого количества... И ? там вроде как избыточен... Как словами будет читаться твоя регулярка? |
ksa,
начать с комбинации символов/* затем найти все символы включая переводы строк, если таковые будут или нет, до первой комбинации */ |
ksa,
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 00:25. |