View Full Version : مشکل با شناسایی کلمه new در ریگولار جاوا اسکریپت
website.expert
پنج شنبه 12 بهمن 1391, 10:56 صبح
سلام،
من میخوام ریگولاری داشته باشم که تو کل یه متن هرچی کلمه خاص new اومده بعدش space و بعدش هرچی اومده تا رسیدن به یک - رو برام انتخاب کنه مثلاً اگه داشته باشم:
new hi-ok
میخوام hi رو واسم انتخاب کنه و رنگ خاصی بهش بدم.
الان هر کاری میکنم با new مشکل داره.
ممنون میشم کمکم کنید.
Beginner2013
جمعه 13 بهمن 1391, 13:45 عصر
سلام،
من میخوام ریگولاری داشته باشم که تو کل یه متن هرچی کلمه خاص new اومده بعدش space و بعدش هرچی اومده تا رسیدن به یک - رو برام انتخاب کنه مثلاً اگه داشته باشم:
new hi-ok
میخوام hi رو واسم انتخاب کنه و رنگ خاصی بهش بدم.
الان هر کاری میکنم با new مشکل داره.
ممنون میشم کمکم کنید.
سلام.
var reg="new\\s(\\w+)-";
var str="new hi-ok";
var str2=str.match(reg);
var str3=str2[0].toString().replace("new ","").replace("-","");
document.write(str.replace(str3,"<font color='blue'>"+str3+"</font>"));
Beginner2013
جمعه 13 بهمن 1391, 13:53 عصر
بالایی را تست کردم کارکرد.اینم باید کار میکرد ولی نمی دوم چرا کار نکرد:
var reg="new\\s(\\w+)-";
var str="new hi-ok";
var str2=str.replace(reg,"new <font color='blue'>$1</font>-");
document.write(str2);
website.expert
جمعه 13 بهمن 1391, 17:14 عصر
ممنون دوست عزیز خیلی خوب بود،
فقط نمیدونم چرا به این صورت مینوسم new\\s جواب نمیده ولی اینجوری new\s درسته و کار میکنه.چه فرقی با هم دارن؟!
الان کاملاً اون چیزی که میخواستم(البته با اون چیزی که تو تاپیک اول گفته بودم یه مقدار متفاوته) به این صورت نوشتم:
/new\s(?=[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/gو درسته فقط یه مشکل داره، اونم اینه که خود کلمه new هم select میشه و تغییر رنگ پیدا میکنه.
چیکار باید بکنم که از new فقط بعنوان شرط درست بودن استفاده کنه و select نشه.
باز هم ممنون و متشکر دوست عزیز.
Reza1607
شنبه 14 بهمن 1391, 11:06 صبح
var str3=str2[0].toString().replace("new ","").replace("-","");
چرا اين كار رو كردين مي تونستين از اين استفاده كنيد
str2[1]
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.