如何使用正则表达式

时间:2016-06-15 14:04:26

标签: jquery regex

以下单词可以是条目:

1200
90
Ashton
Created By
Johnson & Johnson
Lemon Pie
Xavier

我有以下RegEx

var rexp = new RegExp('^' + val, 'i');

我正在输入以下内容:

If I enter `12`, there is a match, `1200`.

If I enter `Lem`, there is a match, `Lemon Pie`.

If I enter `Lemon P`, there is no match.

If I enter `Johnson &`, there is no match.

If I enter `&`, there is no match.

如何修改RegExp()功能,因此需要考虑空间才能找到匹配项,因此:

If I enter `12`, there is a match, `1200`.

If I enter `Lem`, there is a match, `Lemon Pie`.

If I enter `Lemon P`, there is a match, `Lemon Pie`.

If I enter `Johnson &`, there is a match, `Johnson & Johnson`.

If I enter `&`, there is a match, `Johnson & Johnson`.

1 个答案:

答案 0 :(得分:2)

您可以使用\\s替换所有空格。

<强> E.g。

var pattern = '^' + val.replace(' ', '\\s');
var rexp = new RegExp(pattern, 'i');

\\s将打印为\s,与您的单词中的space匹配。

如果您还想在模式中用一个空格替换多个空格,您也可以这样做,

var pattern = '^' + val.replace(/\s+/, '\\s');

这是你的Fiddle

修改

^匹配行的开头。如果您只想匹配输入中输入的单词而不匹配起始字母,那么您可以首先避免使用正则表达式。

选中此Fiddle