2016-03-01 7 views
3

Мне нужно проверить, есть ли в одной строке символ пробела или символ концевой строки. Предположит, чтобы эта строка:Как проверить, имеет ли строка пробел или конец

var elem="tisof tisoff tiso" 

Я хочу, чтобы проверить, если в этой строке эле есть вход «Тис». Этот элемент может быть в середине или в голове или в конце так что мое регулярное выражение:

var regex=new RegExp(/.*tiso\s/); 

Если я использую эль тест с регулярным выражением является ложным, потому что мне нужно положить (\ s или конец строка) , Кто-нибудь может мне помочь?

+0

['/\btiso\b/'](https://regex101.com/r/tX1qS5/1) должен работать. – Yoshi

ответ

1

Вы можете использовать чередование (?:\s|$):

var regex= /.*tiso(?:\s|$)/; 

(?:...) не является захват группы предназначены для всего группы альтернатив (это не создает каких-либо групп - удалить ?:, если вам нужно сослаться на значение группы захвата позже), поэтому (?:\s|$) будет соответствовать пробелу или концу строки.

ПРИМЕЧАНИЕ: Если вам нужно сопрягать целое слово tiso, вы можете использовать /\btiso\b/ регулярное выражение, где \b является word boundary. \b до t потребует, чтобы для буквы предшествовал символ, отличный от слова, или начало строки, а для последнего \b потребуется символ без слова или конец строки после o.

+0

Если есть что-то неясное, напишите комментарий. –

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