regex - 数字或三个字母的正则表达式模式
问题描述
我需要对具有不同类型值的表字段进行排序:
- 数字从 0 到 999+
- 三个字母组成的组,如 AAA、AAB、AAC、AAD 等。
StupidTable.js使我能够添加自定义字母数字数据类型,但我无法定义正则表达式模式。
我试过这段代码:
$("table").stupidtable({
"alphanum":function(a,b){
console.log(a,b)
var pattern = "^[a-zA-Z0-9_.-]*$";
var re = new RegExp(pattern);
var aNum = re.exec(a).slice(1);
var bNum = re.exec(b).slice(1);
return parseInt(aNum,10) - parseInt(bNum,10);
}
})
但它不起作用。您可以在此页面上单击“nr”选项卡检查问题:测试
解决方案
尝试这样的事情:
const regexPattern = /^[\d\w]{3}/gm;
如果字符串仅包含 3 位数字或 3 个字母代码,则此模式允许您捕获字符串。如果要捕获 0 而不是 000,则需要将 {3} 更改为 {1,3},但这也会捕获 A 而不是 AAA。
您也可以考虑以某种方式规范化您的数据,例如将 A 转换为 AAA 并将 0 转换为 000。假设您的变量类型是字符串而不是数字类型,这可能会有所帮助,原因有很多。那有意义吗?
您可以在下面的链接中查看我是如何创建此模式的,并尝试一些调整以使其适合您。我经常使用这个工具,它还会为你生成一些不同语言的代码。祝你的项目好运,让我知道进展如何。
推荐阅读
- react-native - 如何在本机反应中路由我的登录屏幕?
- xcode - 为什么在 Git 中切换分支会保留我的更改?
- reactjs - React / Redux - 根据状态变化创建 XHR 请求
- c# - 来自 .net 核心的 Azure ServiceBus 消息无法在 .net 4.6.1 中解析
- javascript - 与对跟踪像素进行 XHR 调用相比,使用图像元素有哪些优势
- java - 如何配置 Solr managed-schema.xml 以便在 Solr 字段中存储 JSON 对象
- javascript - 针对所有孩子,而不是只针对一个孩子
- javascript - React 状态在渲染方法和页面上实际显示的内容之间不同步
- python - 如何获取声明 Table 实例的模块的名称?
- arrays - 递归删除文件夹名称包含数字的文件夹