我使用数据表(1.10.4)的dataTables.columnFilter
插件。
当论据bRegex
为true
时,我想搜索一个括号。
实际上,当我搜索一个括号并且参数bRegex
是true
时,似乎没有考虑这个角色,而bRegex
是false
时不是这种情况。 {1}}。
.columnFilter
({
aoColumns:[{type:"text",bRegex:true} //texte//
})
答案 0 :(得分:0)
正则表达式中使用的元字符是:
! ^ $ ( ) [ ] { } ? + * . / \ |
要搜索元字符,您必须使用:\
例如:
regex | Search for
-------- | ----------
/What?/ | "Wha" or "What"
/What\?/ | "What?"
元字符不需要在类中转义,除了:
/
,正则表达结束。]
,类符号结束。\
,如果您搜索\
如果您想在课程中搜索-
,可以将其放在课程的结尾或开头:
[a-zA-Z0-9-]
答案 1 :(得分:0)
感谢您的贡献。 我在jquery.dataTables.js文件中发现了以下条件:
search = regex ?
search :
_fnEscapeRegex( search );
使用_fnEscapeRegex函数 - 在同一个文件中 - 特别是转义括号字符。 因此,要在bRegex等于true时转义括号,我刚刚在上面的代码之前添加了以下代码:
var _escape_parenthesis = new RegExp( '(\\' + [ '(', ')'].join('|\\') + ')', 'g' );
search = regex ? search.replace( _escape_parenthesis, '\\$1' ):search;
感谢Kaddath和Pierre Lebon对正则表达式中逃逸意义的解释。