文本区域中空格后@的正则表达式

时间:2017-01-20 03:54:43

标签: javascript html ajax regex

在某些文本中为@编写正则表达式,但@必须仅在空格之后... 请帮我... 在这种情况下,使用AT JS 实际上我的问题是我需要在@之后进行ajax调用,然后是空格,如下面的场景Screenshot of my problem

jQuery(document).ready(function(){
jQuery('#editable').bind("keyup", function(event){
    jQuery.ajax({
        url: base_url + 'index.php/tags',
        type: "GET",
        dataType: "json",
        success: function(result)
        {
            jQuery('#editable').atwho({
                at: "@",
                data: result,
                limit: 50,
                minLen:1,
                callback: {
                    filter: function (query, data, search_key) {
                        return jQuery.map(data, function(item, i) {
                            return item[search_key].toLowerCase().indexOf(query) < 0 ? null : item
                        })
                    }

                }
            });
        },
    });
});

});

2 个答案:

答案 0 :(得分:2)

你的要求不是很清楚但是......

const regex = /\s@\w+\s/g

这将在字符串中找到所有空格,后跟一个@,后跟一个或多个字母数字字符,后跟一个空格。

答案 1 :(得分:0)

除了已经回答的问题之外,你可以在\ s中添加额外的+

+ means 1 or more, but atleastone space.
* means 0 or more

所以,你可以这样做: -

const regex = /\s+@\w+\s+/g; // one or more spaces, but atleastone space.
const regex = /\s*@\w+\s*/g; // 0 or more spaces 

除此之外,如果您正在寻找一个&#34;硬编码的&#34;空间;这可能会成为一个问题,万一你的输入有更多的空格。