2016-10-06 18 views
0

Я пытаюсь выбрать строки DataTable, используя регулярное выражение. Я хочу найти все строки, в которых есть только слово «Вента», и опустить «Renta/Venta», а также «Renta».Как найти определенное слово с помощью Regex?

Примеров-плюс строк:

"независимо от любого Venta/Renta независимо от"

"независимо от любой Venta независимо от"

"независимо от любого Renta независимо от"

Я только хочу, чтобы выбрать строка, в которой есть только «Вента». Теперь я использую «(?! Renta/Venta) Venta», но все же выбирает строки, которые имеют «Renta/Venta».

+0

У 'venta' есть места с обеих сторон? –

ответ

0

Используйте символ пробела (\s):

/(^|\s)Venta(\s|$)/ 
+0

В JavaScript нет никакого поиска – vlaz

+0

Хороший улов. В этом случае просто захватите пробелы, и поскольку мы тестируем, а не используете, это не имеет значения. Обновление ответа. – Makaze

0

Если строка построена таким образом, то вы можете использовать регулярное выражение с отрицательным предпросмотром, как это :

.*Venta(?!\/Renta).* 

working demo

Имейте в виду, что это не будет работать, если строка:

whatever Renta whatever Venta whatever 

Таким образом, если строки, как выше присутствуют, то вы можете использовать трюк, как это:

^(.(?!Renta))+$ 

Working demo