Skip to main content

常用正则表达式

表格在3.0版本之后引入了对文本列的格式检查,其中根据用户输入的正则表达式可以实现自定义限制格式。考虑到大多数师生对于正则表达式比较陌生,我们在这里会不定期更新一些遇到的可能需要的正则表达式。同时也欢迎加入QQ群:2343870,申请添加不在此处的正则表达式。

什么是正则表达式

正则表达式,简单来说,就是可以通过编写一种“公式”来匹配一段文字是否有对应格式的部分,而后可以进行查找、替换、提取等等操作。

图片来自 https://www.runoob.com/wp-content/uploads/2018/09/regexp-cn.png

表格中只是使用了最简单的匹配,如果你对正则表达式比较感兴趣,可以参考下列的资料:

中文:

英文:

常用参考

这里我们会列出一些可能经常使用的正则表达式参考,直接复制粘贴即可使用。

学号/工资号或其他人员

人员编码标准可能会因为学校政策变动导致有些年份不一样,因此请以实际情况为准。可以参考信息化建设管理服务中心的有关文件如《南京大学公共数据编码标准》。

纯数字

纯数字的帐号例如本科生和部分教职工,以及未来可能统一的编码规范等。

最简单的纯数字检查:

^[0-9]+$

指定长度的纯数字检查:

^[0-9]{n}$

其中n替换为你需要的长度。

如果是一个范围(例如学号长度不同年份有变化),那就是:

^[0-9]{n,m}$

其中nm替换为你需要的长度,表示长度为n~m。

如果不设上限,

^[0-9]{n,}$

其中n替换为你需要的长度,表示长度为至少n。前面例子中的+其实和{1,}是等价的。

类似地,*{0,}等价,?{0,1}等价。

含有大写字母

有很多早期的学号(比如研究生)和教职工是存在一些大写字母前缀的。

粗略的做法和上面类似,要求是“大写字母+数字”的格式:

^[A-Z]+[0-9]+$

当然你也可以进一步限制,例如只允许填写专硕学号:

^MF[0-9]+$

允许填写专硕、学硕的学号:

^(MF|MG)[0-9]+$

前面提到的限定数字长度可以一并使用。其他前缀也是类似的。

学术相关

DOI号

^10\.[0-9]{4}/\S+$