Javascript 期间可以匹配,但不能使用
我的记号笔有问题。我输入一个带句点的单词,如果它在那里,它可以匹配(例如Javascript 期间可以匹配,但不能使用,javascript,regex,Javascript,Regex,我的记号笔有问题。我输入一个带句点的单词,如果它在那里,它可以匹配(例如过滤器。),但当它通过标记函数时,它不起作用。代码如下: function Search () { var Notes = document.getElementById("NoteHolder").innerHTML; var i = document.getElementById("Bar").value; var inputReOne = $.trim(i); var inp = inputReOne.replace(
过滤器。
),但当它通过标记函数时,它不起作用。代码如下:
function Search () {
var Notes = document.getElementById("NoteHolder").innerHTML;
var i = document.getElementById("Bar").value;
var inputReOne = $.trim(i);
var inp = inputReOne.replace(".", "\.")
if ($.trim(inp) !== '') {
var InpComp = inp.toUpperCase();
var Ind = tags.indexOf(InpComp);
if (Ind === -1) {
var inpReg = new RegExp(inp, "im");
var WordCheck = Notes.match(inpReg);
alert(WordCheck)
if(WordCheck !== null) {
tags.push(InpComp);
var SearchReq = new RegExp("\\b(" + inp + ")\\b", "gim");
var after = Notes.replace(SearchReq, "<mark class=" + ColorOptionReady + ">$1</mark>");
document.getElementById("NoteHolder").innerHTML = after;
}
函数搜索(){
var Notes=document.getElementById(“票据持有人”).innerHTML;
var i=document.getElementById(“Bar”).value;
var inputReOne=$.trim(i);
变量inp=inputReOne.replace(“.”,“\”)
如果($.trim(inp)!=''){
var InpComp=inp.toUpperCase();
var Ind=标签indexOf(InpComp);
如果(Ind==-1){
var inpReg=新的RegExp(inp,“im”);
var WordCheck=Notes.match(inpReg);
警报(文字检查)
if(字检查!==null){
标签推送(InpComp);
var SearchReq=newregexp(“\\b(“+inp+”)\\b”,“gim”);
var after=注释。替换(SearchReq,“$1”);
document.getElementById(“票据持有人”).innerHTML=after;
}
WordCheck
匹配过滤器。
但是当它运行完函数的其余部分时,它不会添加过滤器。
它只是没有标记标签。有什么建议吗?我想你需要将
“\.”
更改为“\\.”
中的var inp=inputReOne.replace(“.”,“\”)
。如果您使用的是i
修饰符,请不要认为您需要toUpperCase
检查。我想您需要检查所有可能的Regexp元字符,而不仅仅是
。这反过来让我觉得您正在尝试实现一些结果,如果采用不同的方法,可能会以更简单的方式解决。但我不知道你问题的根本问题;)我不明白为什么我需要将“\”改为“\”它对我不起作用。它只是返回过滤器\。
好吧,你可能并不真的需要它-但是你在第二个RegExp中对\\b
做了同样的操作,这与你在字检查中匹配的不同。因为一个普通点是一个字边界,\b
不会看到另一个边界,我猜。一个是什么标记“.”的方法?我想使用\s
但也不起作用。你到底想实现什么?为什么需要额外检查正则表达式周围的单词边界?如果我认为Notes
是'Hello Filters.Foo'
,它将与var SearchReq=new RegExp(\\b(“+inp”)匹配+“\\s”、“gim”);