正则表达式整个单词(jQuery DataTables 搜索)
regex whole word (jQuery DataTables search)
我正在使用数据表 (http://www.datatables.net/) 生成 table。每行都有一个公司名称,在大多数情况下是州、省或国家/地区的名称。我使用 chosen.js 生成一个包含所有唯一名称的多 select。问题是,当我搜索 "Virginia" 时,我也会得到 "West Virginia" 的结果。我只要"Virginia"。
对于在 multi-select 中编辑的每个选项 select,我将其附加到正则表达式中,例如:
\b(Arizona|Virginia)\b
我的数据 table 包含具有以下内容的行:
<tr><td>Arizona</td></tr>
<tr><td>Michigan</td></tr>
<tr><td>Virginia</td></tr>
<tr><td>West Virginia</td></tr>
....
我的正则表达式需要什么才能 "Virginia" returns 只有 "Virginia" 而不是 "West Virginia"?
我正在使用 DataTables 列搜索(智能搜索关闭)来执行正则表达式:https://datatables.net/reference/api/column().search()
您应该使用 <td>
标记作为边界(如果它们是进入正则表达式引擎的字符串的一部分)并且只使用捕获的组 1:
<td>(Arizona|Virginia)</td>
如果字符串以普通 Arizona
或 West Virginia
形式出现,您可以使用匹配字符串开头 ^
或结尾 $
的锚点:
^(Arizona|Virginia)$
我正在使用数据表 (http://www.datatables.net/) 生成 table。每行都有一个公司名称,在大多数情况下是州、省或国家/地区的名称。我使用 chosen.js 生成一个包含所有唯一名称的多 select。问题是,当我搜索 "Virginia" 时,我也会得到 "West Virginia" 的结果。我只要"Virginia"。
对于在 multi-select 中编辑的每个选项 select,我将其附加到正则表达式中,例如:
\b(Arizona|Virginia)\b
我的数据 table 包含具有以下内容的行:
<tr><td>Arizona</td></tr>
<tr><td>Michigan</td></tr>
<tr><td>Virginia</td></tr>
<tr><td>West Virginia</td></tr>
....
我的正则表达式需要什么才能 "Virginia" returns 只有 "Virginia" 而不是 "West Virginia"?
我正在使用 DataTables 列搜索(智能搜索关闭)来执行正则表达式:https://datatables.net/reference/api/column().search()
您应该使用 <td>
标记作为边界(如果它们是进入正则表达式引擎的字符串的一部分)并且只使用捕获的组 1:
<td>(Arizona|Virginia)</td>
如果字符串以普通 Arizona
或 West Virginia
形式出现,您可以使用匹配字符串开头 ^
或结尾 $
的锚点:
^(Arizona|Virginia)$