如何让jQuery从外部TXT文件中读取“正则表达式”

时间:2017-08-24 00:54:50

标签: javascript jquery regex

我目前正在开发一个程序,该程序根据txt文件过滤单词,该文件中插入的单词以逗号分隔。

我遇到的问题是当我尝试在我的txt文件中放入正则表达式时,jQuery将其视为一个完全忽略正则表达式的字符串。

我怎样才能这样做,以便我可以在一个reg表达式格式中将单词放在我的txt文件中,这样我只能根据查看者可以输入多少种不同的格式来编写一个过滤后的单词。

如果不可能,有人可以指出我正确的方向来实现这个功能。任何帮助,将不胜感激。谢谢。

使用Javascript:

 // This grabs the data from the txt file and splits each word my commas
 $.get('word-list.txt', function(data) {
    pbfFilterWords = data.split(', ');
    pbfFilterWords.forEach(function(word){
    pbfWordList = word;
 });

 // This defines a global variable so the filter button has a list of words to filter with
 var pbfWordList = pbfFilterWords;
 //console.log(pbfWordList);

 // Function for filter button
 $('.pbf-link-container[contenteditable]').html;
 $('#pbf-filter').click(function(){
        var $pbfOutput = $('.pbf-link-container[contenteditable]').html();
        // Array of words for filter
        var pbfFilterWords = pbfWordList;
            // Output to new DIV and remove specified keywords from pbfFilterWords
            $('.pbf-link-output').html($pbfOutput);
            // To make pbfFilterWords not case sensitive
            $.expr[":"].contains = $.expr.createPseudo(function(arg) {
                return function( elem ) {
                return $(elem).html().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
                    };
            });
            // Function to output the filtered words
            $.each(pbfFilterWords , function(i , val){
            $('.pbf-link-output > div:contains("'+val+'")').remove();
        });
    });
});

字符-LIST.TXT:

'(Jennifer|Jen|Jenny)\b\w+\b' , baby bullet, baby-bullet, 'back2life', 'back-2-life'

1 个答案:

答案 0 :(得分:0)

var re = new RegExp("a|b", "i");
// same as
var re = /a|b/i;

参考 - Converting user input string to regular expression