23.4.21总结

news2024/11/18 18:33:53

正则表达式

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式是一种对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

限定符

1、?

used?

代表 '?' 前面的 ‘d’ 需要出现0次或者1次(例如可以查询到use和used)

2、*

会匹配0个或者多个字符

ab*c

代表b可以没有,也可以出现多次(例如可以查找到ac、abc、abbc等)

3、+

会匹配到1个或者多个字符

ab+c

‘b’ 会出现1次以上(例如abc、abbc等)

4、{}

指定字符出现的次数

ab{6}c

指定 ‘b’ 出现6次

ab{2,6}

希望 ‘b’ 出现2~6次

ab{2,}

希望 ‘b’ 出现2次以上

5、()

以上四个是限制一个字符,如果要限制多个字符,可以使用()

(ab)+

希望 ‘ab’ 出现一次以上(例如ab、abab等)

“或”运算符

1、|

a cat|dog

要么是a cat,要么是dog

a (cat|dog)

要么是a cat,要么是a dog

字符类

匹配一个单词

1、[]

要求匹配的字符只能取自与它们

[abc]

希望找到abc

[abc]+

希望找到由abc三个字母构成的词(例如:abc、aabc、bca)

[a-zA-Z0-9]+

代表所有的英文字符和数字

2、^

匹配除了尖括号后面列出的以外的字符

[^0-9]+

表示找出来数字以外的词(例如ab、r  er等)

元字符

1、\d

  • 数字字符
  • 等同于写的[0-9]

2、\w

  • 单词字符
  • 所有的英文字符、数字、下划线

3、\s

  • 空白符
  • 包含Tab和换行符

4、\D

  • 符数字字符

5、\W

  • 非单词字符

6、\S

  • 非空白字符

7、.

  • 代表任意字符
  • 不包含换行符

贪婪与懒惰匹配

<.+>

对于下面字段:<span><b>This is a sample text</b></span>

上面的表达式会全部匹配,这是贪婪匹配

如果要的不是这个结果,可以改为

<.+?>

此时匹配的是:<span>、<b>、<b\>、</span>

这是懒惰匹配

项目 

最近做了登录、注册、忘记密码的页面:

 

项目结构:

  • src
    • resources
      • client(客户)
      • controller(控制器)
      • image(图片)
      • sample(fxml文件)
      • server(服务)
      • tool(工具)
      • test(测试)
      • models(模型)

sample(fxml文件)

  • Login.fxml(登录)
  • RegisterTeacher.fxml(注册)
  • ForgetPassword.fxml(忘记密码)
  • ClassroomInteraction.fxml(班级)
  • CreateClass.fxml(创建班级)
  • JoinClass.fxml(加入班级)
  • Quiz.fxml(测验)
  • SignIn.fxml(签到)
  • StudentDashboard.fxml(学生总表)
  • TeacherDashboard.fxml(老师总表)
  • RandomSelection.fxml(随机选人)
  • PublishHomework.fxml(发布作业)
  • HomewordSubmission.fxml(提交作业)
  • HomeworkManagement.fxml(作业管理)
  • DownloadMaterials.fxml(下载文件)
  • RejectHomework.fxml(打回作业)
  • CorrectHomework.fxml(批改作业)

controller(控制器)

对每一个fxml文件创建一个对应的java控制类:

  • LoginController.java
  • RegisterController.java
  • ForgetPasswordTest.java()
  • ClassroomInteractionController.java
  • CreateClassController.java
  • JoinClassController.java
  • QuizController.java
  • SignInController.java
  • StudentDashboardController.java
  • TeacherDashboardController.java
  • RandomSelectionController.java
  • PublishHomeworkController.java
  • HomewordSubmissionController.java
  • HomeworkManagementController.java
  • DownloadMaterialsController.java
  • RejectHomeworkController.java
  • CorrectHomeworkController.java

models(模型)

创建与数据库对应的模型类:

  • User.java
  • Student.java
  • Teacher.java
  • Classroom.java
  • Material.java
  • HomeworkSubmission.java
  • Homework.java

server(服务)

创建服务类来处理不同功能模块的业务逻辑:

  • UserService.java
  • ClassroomService.java
  • MaterialSevice.java
  • homeworkSevice.java

tool(工具)

创建工具类处理公共功能

Main主类

启动javaFX程序

1.用户表(user)

  • id(用户ID,主键)
  • username(用户名)
  • name(姓名)
  • email(邮箱)
  • password(密码)
  • userTyte(用户类型)
  • create_at(创建时间)
  • update_at(更新时间)

2.班级表(class)

  • id(班级ID,主键)
  • name(班级名称)
  • teacher_id(教师ID,外键)
  • create_at(创建时间)
  • update_at(更新时间)

3.用户-班级表

  • id(关系ID,主键)
  • user_id(用户ID,外键)
  • class_id(班级ID,外键)

4.作业表(homework)

  • id(作业ID,主键)
  • class_id(班级ID,外键)
  • content(作业内容)
  • type(作业类型:主观题、选择题)
  • createDate(发布时间)
  • dueDate(截止时间)

5.学生作业表(student_homework)

  • id(学生作业ID,主键)
  • user_id(用户ID,外键)
  • homework_id(作业ID,外键)
  • submissionType(提交类型:图片,文字,文件)
  • status(作业状态:未提交,已提交,已打回,已批改)
  • create_at(创建时间)
  • update_at(更新时间)

6.课堂互动表(class_interaction)

  • id(互动ID,主键)
  • class_id(班级ID,外键)
  • teacher_id(教师ID,外键)
  • type(类型:签到、问题抢答、随机选人)
  • update(更新时间)

7.发布的资料表(materials)

  • id(资料ID,主键)
  • class_id(班级ID,外键)
  • teacher_id(教师ID,外键)
  • title(标题)
  • file(文件路径)
  • update(更新时间)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java 数据结构】十大排序 (动图解析)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

微搭低代码学习之销售员销售目标采集系统开发

四月二十三&#xff0c;春意渐浓&#xff0c; 草木抽出新枝&#xff0c;鸟儿唱响欢融。 花开满园&#xff0c;香气袭人&#xff0c; 阳光明媚&#xff0c;人们心情舒畅。 愿这美好的日子&#xff0c;伴随你一生。 ——使用Notion AI提问“写一首关于4月23日的诗” 文章目录 前言…

【深度学习入门系列】 pytorch实现多层感知机(MLP)(内含分类、回归任务实例)

文章目录 0. BP和MLP1 分类1.0 数据集1.1 网络架构1.2 代码1.3 结果 2 回归2.0 数据集2.1 网络架构2.2 代码2.3 结果 3 代码&#xff08;可直接食用&#xff09; 众所周知&#xff0c;sklearn提供了MLP函数。个人认为这个东西虽然蛮好用的——有的时候比你自己写的效果都好&…

Linux应用程序开发:进程的一些事儿

目录 一、进程的简介1、什么是进程&#xff0c;进程的概念2、进程状态3、什么是进程号4、进程间的通信方法&#xff08;IPC&#xff09; 二、 fork()创建子进程三、父、 子进程间的文件共享1、实验12、实验2 四、使用execl函数执行新程序五、关于终端上对进程的一些指令操作六、…

AI绘图风格对照表/画风样稿详细研究记录及经验总结(分析Midjourney和Stable Diffusion风格提示词实际使用情况)不断更新中...

Midjourney和Stable Diffusion都可以通过输入文本生成出令人惊叹的AI图像。 Midjourney是一个收费的在线服务&#xff0c;通过discord对话的形式来生图&#xff0c;局限性较大&#xff0c;但由于后台官方模型做得好&#xff0c;因此出图效果非常完美&#xff1b; Stable Diffus…

3.Spring Security实现JWT token验证

目录 1. Spring Security详细介绍 2. Spring Security详细使用 3. Spring Security实现JWT token验证 4. JWT&#xff08;JSON Web Token&#xff0c;JSON令牌&#xff09; 5. Spring Security安全注解 Spring Security实现JWT token验证 Spring Security是Spring提供的一…

图数据库

1 前言 图数据结构&#xff0c;能够很自然地表征现实世界。比如用户、门店、骑手这些实体可以用图中的点来表示&#xff0c;用户到门店的消费行为、骑手给用户的送餐行为可以用图中的边来表示。使用图的方式对场景建模&#xff0c;便于描述复杂关系。在美团&#xff0c;也有比较…

超全实战操作详解合集——阿里云ECS服务器(CentOS 7.8 64位)安装rpm格式jdk、tomcat8、mysql8三件套

一、下载rpm格式的jdk 网上自行下载下载jdk&#xff0c;使用Xftp连接Linux主机&#xff0c;将jdk文件放入任意目录下&#xff08;为方便后续操作&#xff0c;重命名为1.rpm&#xff09; 二、安装jdk 进入存放jdk文件的目录&#xff0c;使用命令yum -y install 1.rpm 进行安装…

前端工具 Prettier 详细使用流程(兼容ESLint)

一、简介 中文文档&#xff0c;英文官网。 Prettier 是一个开箱即用的代码格式化程序。用来批量处理旧代码的统一&#xff0c;涉及引号、分号、换行、缩进等。支持目前大部分语言处理&#xff0c;包括 JavaScript、Flow、TypeScript、CSS、SCSS、Less、JSX、Vue、GraphQL、JSO…

【计算机视觉】华为天才少年谢凌曦:关于视觉识别领域发展的个人观点!

文章目录 一、前言二、CV的三大基本困难和对应研究方向三、以下简要分析各个研究方向3.1 方向1a&#xff1a;神经网络架构设计3.2 方向1b&#xff1a;视觉预训练3.3 方向2&#xff1a;模型微调和终身学习3.4 方向3&#xff1a;无限细粒度视觉识别任务 四、在上述方向之外五、结…

“踏浪”自动驾驶量产潮,商业化加速的知行科技奔赴IPO

今春过半&#xff0c;自动驾驶产业链扎堆上市的情况在延续&#xff0c;一位新的重量级选手加入了这场热潮。 4月4日&#xff0c;自动驾驶领域领先的解决方案提供商知行汽车科技(苏州)股份有限公司&#xff08;即“知行科技”&#xff09;&#xff0c;向港交所递交招股书&#…

全网多种方法解决error: failed to push some refs to ‘xxx‘

文章目录 1. 复现错误2. 分析错误3. 解决错误4. 解决该错误的其他方法 1. 复现错误 今天使用git status查看文件状态&#xff0c;发现有一个文件未提交&#xff0c;如下代码所示&#xff1a; D:\project\test>git status On branch master Your branch is up to date with …

【剑指offer】学习计划day1

目录 一. 前言 二. 用两个栈实现队列 a.题目 b.题解分析 c.AC代码 二. 包含min函数的栈 a.题目 b.题解分析 c.AC代码 一. 前言 本系列是针对Leetcode中剑指offer学习计划的记录与思路讲解。详情查看以下链接&#xff1a; 剑指offer-学习计划https://leetcode.cn/study-pla…

Java八大基本数据类型

Java八大基本数据类型 byteshortintlongfloatdoublebooleanchar byte byte数据类型是8位、有符号的&#xff0c;以二进制补码表示的整数 最小值是-128&#xff08;-2^7&#xff09;&#xff1b; 最大值是127&#xff08;2^7-1&#xff09;; 默认值是0&#xff1b; byte类型用在…

stm32读写内部Flash

stm32内部flash地址架构映射 因为我的stm32f407的内部flash是1M的所以块2不存在&#xff0c;但他的地址仍然存在&#xff0c;只是没有作用&#xff0c;这是stm32的整体框架。 主存储器 一般我们说 STM32 内部 FLASH 的时候&#xff0c;都是指这个主存储器区域&#xff0c;它…

duilib窗口拖动

直接使用如下就可以了&#xff0c;不用再使用继承。 LRESULT CXmlWnd::OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {POINT pt;RECT rcClient;RECT rcCaption;CControlUI * pControl NULL;rcCaption m_P…

C++练级之初级:第五篇

C练级之初级&#xff1a;第五篇 第五篇 C练级之初级&#xff1a;第五篇1.auto关键字2.for循环改进3.指针空值nullptr4.内联函数4.1内联函数的概念4.2内联函数的注意点 总结 1.auto关键字 &#x1f914;什么是auto(automatic的缩写&#xff0c;自动的意思)关键字&#xff1f; au…

OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法1+2 (视频)

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 准备环境安装可实现 KubeVirt 操作的 Tekton 资源创建密钥对 在 CI/CD 流水线管道中创建 VM方法1&#xff1a;通过 Manifest 任务创建 VM方法2&am…

如何实现Spring AOP以及Spring AOP的实现原理

AOP:面向切面编程,它和OOP&#xff08;面向对象编程)类似。 AOP组成: 1、切面:定义AOP是针对那个统一的功能的&#xff0c;这个功能就叫做一个切面&#xff0c;比如用户登录功能或方法的统计日志&#xff0c;他们就各种是一个切面。切面是有切点加通知组成的。 2、连接点:所有可…

ClickHouse快速入门

目录 1 ClickHouse介绍1.1 ClickHouse 的特点1.1.1 列式存储1.1.2 DBMS 的功能1.1.3 多样化引擎1.1.4 高吞吐写入能力1.1.5 数据分区与线程级并行1.1.6 性能对比 2 数据类型2.1 整型2.2 浮点型2.3 布尔型2.4 Decimal 型2.5 字符串2.6 枚举类型2.7 时间类型2.8 数组 3 表引擎3.1…