2012-02-15 5 views
0

Как бы написать это, чтобы сохранить текст «allofthistextcaptured» с регулярным выражением? Я не хочу, чтобы «_poster» был захвачен. Ниже javascript именно то, что мне нужно, мне просто нужно некоторое регулярное выражение в конце, чтобы захватить весь текст в теге src EXCEPT «_poster».regex для захвата содержимого html

HTML

<div class="postImage"><img src="allofthistextcaptured_poster.jpg" title="" width="640" height="385" /></div> 

JS я до сих пор

var text = $(this).siblings('.postImage').find('img').attr('src'); 

ответ

4

Будет ли простой replace() работа для вас?

var text = $(this).siblings('.postImage').find('img').attr('src').replace('_poster', ''); 

Если вы хотите использовать RegExp, то вы можете сделать что-то вроде этого:

var text = $(this).siblings('.postImage').find('img').attr('src').replace(/_poster./, '.'); 

Который ищет _poster. и заменяет его ., но это довольно-почти то же самое, как и в первом примере ,

Вот демо: http://jsfiddle.net/exAXw/

+0

совершенный, отметит как полностью – Blainer

+0

Согласованная, простая замена намного чище, чем регулярное выражение здесь. – hexparrot

0

Видя, как для поиска строки сводятся только к имени файла, вы можете использовать это регулярное выражение, чтобы захватить название и расширение:

([\w]+)(?>_poster)\.([\w]+) 
0

Просто родовая замену с использованием REGEX лишить б/нед и ., которое ничего после того, как _ и перед .

.replace (/(_[^.*]*)/, ''); 

DEMO

Смежные вопросы