我需要检查一个字符串是否有空格字符或结束字符串字符。 假设有这个字符串:
var elem="tisof tisoff tiso"
我想检查在这个字符串elem中是否有输入" tiso"。这个元素可以在中间或在头部或末尾,所以我的正则表达式是:
var regex=new RegExp(/.*tiso\s/);
如果我使用elem,则使用regex进行测试是错误的,因为我需要输入(\ s或结束字符串)。有人可以帮帮我吗?
答案 0 :(得分:1)
您可以使用替换(?:\s|$)
:
var regex= /.*tiso(?:\s|$)/;
(?:...)
是一个非捕获组,仅用于对备选方案进行分组(它不会创建任何组 - 如果以后需要引用捕获组值,则删除?:
),因此{{1}将匹配空格或字符串结尾。
注意:如果您需要匹配整个单词(?:\s|$)
,则可以使用tiso
正则表达式,其中/\btiso\b/
是word boundary。 \b
之前的\b
将要求字母前面带有非单词字符或字符串的开头,而最后t
将需要非单词字符或结尾\b
之后的字符串。