当前位置: 首页 > news >正文

四则运算的正则校验

文章目录

  • 四则运算的正则校验
  • 带有变量的四则运算的正则校验
  • 带有括号的四则运算的正则校验
  • 变量使用${}包裹的四则运算正则表达式
  • 变量使用${}包裹的可以有括号的四则运算正则表达式
  • 变量使用#{}包裹的可以有括号的四则运算正则表达式
  • 变量使用${}或者 #{}包裹的可以有括号的四则运算正则表达式
  • 变量支持数字、字母和-_ 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式
  • 变量支持大小写字母,数字和特殊字符"_?'#()\.,&%@!-" 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式
  • 变量支持大小写字母,数字和特殊字符 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式

场景:我们选取变量,变量使用${} 或者#{}包裹起来,然后可以四则运算(±*/和括号),需要校验正确性

(${ACinterU} + ${ACTdisV1bh}) + ${ALMfdPD} + #{IndustrialInternetLogo}*4 - 1

四则运算的正则校验

以下是一个简单的四则运算正则校验表达式:

/^\d+(\.\d+)?[\+\-\*\/]\d+(\.\d+)?$/

解释:

^ 表示匹配字符串的开头。
\d+ 表示匹配一个或多个数字。
(.\d+)? 表示匹配一个小数点和一个或多个数字,这部分内容可以出现零次或一次。
[+-*/] 表示匹配加号、减号、乘号或除号。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

1+2
3.14-2.7
10*5.2
100/20.5
需要注意的是,这个正则表达式只能校验基本的四则运算格式,不能校验运算的正确性。例如,1/0 这样的除零运算也可以通过正则校验。

带有变量的四则运算的正则校验

正则表达式无法直接校验带有变量的四则运算表达式,因为变量的名称和取值是不确定的,无法用固定的模式匹配。

如果需要校验带有变量的四则运算表达式,可以考虑先将变量替换成一个占位符,比如 x,然后再进行正则校验。具体步骤如下:

将变量替换成一个占位符,比如 x。
例如,将表达式 a + b * 2 - c / d 替换成 x + x * 2 - x / x。

使用正则表达式校验替换后的表达式。
例如,使用上面提到的正则表达式 /^\d+(.\d+)?[+-*/]\d+(.\d+)?$/ 进行校验。

如果替换后的表达式通过了正则校验,再将占位符替换回原来的变量名称。
例如,将 x + x * 2 - x / x 替换回 a + b * 2 - c / d。

需要注意的是,这种方法只能校验变量名称是否合法,不能校验变量的取值是否合法。如果需要校验变量的取值是否合法,需要使用编程语言的语法分析功能。

带有括号的四则运算的正则校验

正则表达式可以校验带有括号的四则运算表达式,以下是一个简单的正则表达式:

/^(\d+(\.\d+)?|\([^\(\)]+\))(\s*[\+\-\*\/]\s*(\d+(\.\d+)?|\([^\(\)]+\)))*$/

该正则表达式可以匹配以下类型的表达式:

1+2
3.14 - 2.7 * (5 + 2)
(10 - 5) * 2
5 / (2 + 1) - 1
正则表达式的含义:

^ 表示匹配字符串的开头。
( 表示开始一个分组。
\d+(.\d+)? 表示匹配一个或多个数字和一个可选的小数点和一个或多个数字。
| 表示或者。
([^()]+) 表示匹配一个左括号、一个或多个非括号字符、一个右括号。
) 表示结束一个分组。
(\s*[+-*/]\s*(\d+(.\d+)?|([^()]+)))* 表示匹配一个或多个空格、一个加号、减号、乘号或除号、一个或多个空格、一个数字或括号表达式。
$ 表示匹配字符串的结尾。
需要注意的是,这个正则表达式只能校验基本的四则运算格式,不能校验运算的正确性。例如,1/0 这样的除零运算也可以通过正则校验。

变量使用${}包裹的四则运算正则表达式

以下是一个变量使用${}包裹的四则运算正则表达式:

/^\s*\${[a-zA-Z]+\s*}(\s*[\+\-\*\/]\s*\${[a-zA-Z]+\s*})*(\s*[\+\-\*\/]\s*\d+(\.\d+)?)*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
${[a-zA-Z]+\s*} 表示匹配一个变量,变量的格式为${变量名}。
(\s*[+-*/]\s*${[a-zA-Z]+\s*})* 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量和零个或多个空格的组合,这部分内容可以出现零次或多次。
(\s*[+-*/]\s*\d+(.\d+)?)* 表示匹配一个加号、减号、乘号或除号,后面跟着一个数字和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

${a} + ${b} * 2 - ${c} / ${d} 
${foo} - ${bar} * 5.5 + ${baz} / 6

需要注意的是,这个正则表达式只能校验变量和数字的基本格式,不能校验运算的正确性。例如,1/0 这样的除零运算也可以通过正则校验。同时,该正则表达式只支持${}格式的变量,不支持其他格式的变量。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量使用${}包裹的可以有括号的四则运算正则表达式

以下是一个变量使用${}包裹的可以有括号的四则运算正则表达式:

/^\s*(\${[a-zA-Z]+\s*}|\(\s*[\+\-\*\/]?\s*(\${[a-zA-Z]+\s*}|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*(\${[a-zA-Z]+\s*}|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*(\${[a-zA-Z]+\s*}|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*(\${[a-zA-Z]+\s*}|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
(${[a-zA-Z]+\s*}|(\s*[+-*/]?\s*(${[a-zA-Z]+\s*}|\d+(.\d+)?|(\s*[+-*/]?\s*(${[a-zA-Z]+\s*}|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个变量或括号内的四则运算表达式,变量的格式为${变量名}。
(\s*[+-*/]\s*(${[a-zA-Z]+\s*}|\d+(.\d+)?|(\s*[+-*/]?\s*(${[a-zA-Z]+\s*}|\d+(.\d+)?)+\s*)))* 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

a + ( {a} + ( a+({b} * 2) - (${c} / ${d})
f o o − ( {foo} - ( foo({bar} * 5.5 + ${baz}) / (6 + q u x ) 需要注意的是,这个正则表达式只能校验变量和数字的基本格式,不能校验运算的正确性。例如, 1 / 0 这样的除零运算也可以通过正则校验。同时,该正则表达式只支持 {qux}) 需要注意的是,这个正则表达式只能校验变量和数字的基本格式,不能校验运算的正确性。例如,1/0 这样的除零运算也可以通过正则校验。同时,该正则表达式只支持 qux)需要注意的是,这个正则表达式只能校验变量和数字的基本格式,不能校验运算的正确性。例如,1/0这样的除零运算也可以通过正则校验。同时,该正则表达式只支持{}格式的变量,不支持其他格式的变量。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量使用#{}包裹的可以有括号的四则运算正则表达式

以下是一个变量使用#{}包裹的可以有括号的四则运算正则表达式:

/^\s*(#\{[a-zA-Z]+\s*\}|\(\s*[\+\-\*\/]?\s*(#\{[a-zA-Z]+\s*\}|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*(#\{[a-zA-Z]+\s*\}|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*(#\{[a-zA-Z]+\s*\}|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*(#\{[a-zA-Z]+\s*\}|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
(#{[a-zA-Z]+\s*}|(\s*[+-*/]?\s*(#{[a-zA-Z]+\s*}|\d+(.\d+)?|(\s*[+-*/]?\s*(#{[a-zA-Z]+\s*}|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个变量或括号内的四则运算表达式,变量的格式为#{变量名}。
(\s*[+-*/]\s*(#{[a-zA-Z]+\s*}|\d+(.\d+)?|(\s*[+-*/]?\s*(#{[a-zA-Z]+\s*}|\d+(.\d+)?)+\s*)))* 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

#{a} + (#{b} * 2) - (#{c} / #{d})
#{foo} - (#{bar} * 5.5 + #{baz}) / (6 + #{qux})
需要注意的是,这个正则表达式只能校验变量和数字的基本格式,不能校验运算的正确性。例如,1/0 这样的除零运算也可以通过正则校验。同时,该正则表达式只支持#{}格式的变量,不支持其他格式的变量。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量使用${}或者 #{}包裹的可以有括号的四则运算正则表达式

以下是一个变量使用${}或者#{}包裹的可以有括号的四则运算正则表达式:

/^\s*((\${[a-zA-Z]+\s*}|\#\{[a-zA-Z]+\s*\})|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z]+\s*}|\#\{[a-zA-Z]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z]+\s*}|\#\{[a-zA-Z]+\s*\})|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*((\${[a-zA-Z]+\s*}|\#\{[a-zA-Z]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z]+\s*}|\#\{[a-zA-Z]+\s*\})|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
((${[a-zA-Z]+\s*}|#{[a-zA-Z]+\s*})|(\s*[+-*/]?\s*((${[a-zA-Z]+\s*}|#{[a-zA-Z]+\s*})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z]+\s*}|#{[a-zA-Z]+\s*})|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个变量或括号内的四则运算表达式,变量的格式为${变量名}或#{变量名}。
(\s*[+-*/]\s*((${[a-zA-Z]+\s*}|#{[a-zA-Z]+\s*})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z]+\s*}|#{[a-zA-Z]+\s*})|\d+(.\d+)?)+\s*)))* 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

KaTeX parse error: Expected 'EOF', got '#' at position 8: {a} + (#̲{b} * 2) - ({c} / #{d})
#{foo} - (${bar} * 5.5 + KaTeX parse error: Expected 'EOF', got '#' at position 15: {baz}) / (6 + #̲{qux}) 需要注意的是,这…{}和#{}格式的变量,如果需要只支持其中一种格式,可以将正则表达式中对应的部分删除。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量支持数字、字母和-_ 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式

以下是一个变量支持数字、字母和-_,使用${}或者#{}包裹的可以有括号的四则运算正则表达式:

/^\s*((\${[a-zA-Z0-9\-_]+\s*}|\#\{[a-zA-Z0-9\-_]+\s*\})|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_]+\s*}|\#\{[a-zA-Z0-9\-_]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_]+\s*}|\#\{[a-zA-Z0-9\-_]+\s*\})|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*((\${[a-zA-Z0-9\-_]+\s*}|\#\{[a-zA-Z0-9\-_]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_]+\s*}|\#\{[a-zA-Z0-9\-_]+\s*\})|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
((${[a-zA-Z0-9-]+\s*}|#{[a-zA-Z0-9-]+\s*})|(\s*[+-*/]?\s*((${[a-zA-Z0-9-]+\s*}|#{[a-zA-Z0-9-]+\s*})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z0-9-]+\s*}|#{[a-zA-Z0-9-]+\s*})|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个变量或括号内的四则运算表达式,变量的格式为${变量名}或#{变量名},变量名可以包含数字、字母和-
(\s*[+-*/]\s*((${[a-zA-Z0-9-
]+\s*}|#{[a-zA-Z0-9-]+\s*})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z0-9-]+\s*}|#{[a-zA-Z0-9-_]+\s*})|\d+(.\d+)?)+\s*)))* 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

KaTeX parse error: Expected 'EOF', got '#' at position 12: {a_1-2} + (#̲{b-3} * 2) - ({c_4} / #{d_5})
#{foo} - (${bar} * 5.5 + KaTeX parse error: Expected 'EOF', got '#' at position 19: …z_6-7}) / (6 + #̲{qux_8}) 需要注意的是…{}和#{}格式的变量,如果需要只支持其中一种格式,可以将正则表达式中对应的部分删除。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量支持大小写字母,数字和特殊字符"_?'#().,&%@!-" 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式

以下是一个变量支持大小写字母、数字和特殊字符_?'#().,&%@!-,使用${}或者#{}包裹的可以有括号的四则运算正则表达式:

/^\s*((\${[a-zA-Z0-9_?'#()\.,&%@!\-]+}|\#\{[a-zA-Z0-9_?'#()\.,&%@!\-]+\})|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9_?'#()\.,&%@!\-]+}|\#\{[a-zA-Z0-9_?'#()\.,&%@!\-]+\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9_?'#()\.,&%@!\-]+}|\#\{[a-zA-Z0-9_?'#()\.,&%@!\-]+\})|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*((\${[a-zA-Z0-9_?'#()\.,&%@!\-]+}|\#\{[a-zA-Z0-9_?'#()\.,&%@!\-]+\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9_?'#()\.,&%@!\-]+}|\#\{[a-zA-Z0-9_?'#()\.,&%@!\-]+\})|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
(${[a-zA-Z0-9_?‘#().,&%@!-]+}|#{[a-zA-Z0-9_?’#().,&%@!-]+}) 表示匹配一个变量,变量的格式为${变量名}或#{变量名},变量名可以包含大小写字母、数字和特殊字符_?‘#().,&%@!-。
(\s*[+-*/]\s*((${[a-zA-Z0-9_?’#().,&%@!-]+}|#{[a-zA-Z0-9_?‘#().,&%@!-]+})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z0-9_?’#().,&%@!-]+}|#{[a-zA-Z0-9_?'#().,&%@!-]+})|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。
这个正则表达式可以匹配类似于以下格式的字符串:

KaTeX parse error: Expected 'EOF', got '#' at position 11: {a_1-2} + #̲{b-3} * 2 - ({c_4} / #{d_5})
#{foo} - (${bar} * 5.5 + KaTeX parse error: Expected 'EOF', got '#' at position 19: …z_6-7}) / (6 + #̲{qux_8}) 需要注意的是…{}和#{}格式的变量,如果需要只支持其中一种格式,可以将正则表达式中对应的部分删除。如果需要支持其他格式的变量,建议使用编程语言的语法分析功能。

变量支持大小写字母,数字和特殊字符 使用${}或者 #{}包裹的可以有括号的四则运算正则表达式

以下是一个变量支持大小写字母、数字和特殊字符,使用${}或者#{}包裹的可以有括号的四则运算正则表达式:

/^\s*((\${[a-zA-Z0-9\-_@#$%^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@#$%^&*()]+\s*\})|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_@#$%^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@#$%^&*()]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_@#$%^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@#$%^&*()]+\s*\})|\d+(\.\d+)?)+\s*\)\s*)+\s*\))(\s*[\+\-\*\/]\s*((\${[a-zA-Z0-9\-_@#$%^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@#$%^&*()]+\s*\})|\d+(\.\d+)?|\(\s*[\+\-\*\/]?\s*((\${[a-zA-Z0-9\-_@#$%^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@#$%^&*()]+\s*\})|\d+(\.\d+)?)+\s*\)))*\s*$/

解释:

^ 表示匹配字符串的开头。
\s* 表示匹配零个或多个空格。
(${[a-zA-Z0-9-@# %^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@# %^&()]+\s}) 表示匹配一个变量,变量的格式为${变量名}或#{变量名},变量名可以包含大小写字母、数字和特殊字符- _ @ # $ % ^ & * ( )。
(\s*[+-*/]\s*((${[a-zA-Z0-9-
@# %^&*()]+\s*}|\#\{[a-zA-Z0-9\-_@# %&*()]+\s*})|\d+(.\d+)?|(\s*[+-*/]?\s*((${[a-zA-Z0-9-_@#$%^&*()]+\s*}|#{[a-zA-Z0-9-_@#$%&()]+\s})|\d+(.\d+)?)+\s*)\s*)+\s*)) 表示匹配一个加号、减号、乘号或除号,后面跟着一个变量或数字或括号内的四则运算表达式和零个或多个空格的组合,这部分内容可以出现零次或多次。
$ 表示匹配字符串的结尾。

注:gpt

相关文章:

四则运算的正则校验

文章目录 四则运算的正则校验带有变量的四则运算的正则校验带有括号的四则运算的正则校验变量使用${}包裹的四则运算正则表达式变量使用${}包裹的可以有括号的四则运算正则表达式变量使用#{}包裹的可以有括号的四则运算正则表达式变量使用${}或者 #{}包裹的可以有括号的四则运算…...

【备忘录】SpringBoot+ dynamic-datasource配置自定义多数据源

一、 业务场景解释 由于公司业务需要开发设计一款文件读取导入工具,导入的配置和目标数据库并不一定在同一个数据库地址,故需要使用到自定义数据源,并且支持数据源切换 大致场景如下: 二、工具选择 鉴于市面上有很多工具&#…...

制作docker镜像文件

技术主题 Docker作为一个开源的应用容器引擎,制作自己的docker镜像文件是使用docker的第一步,这样我们能够更好地管理应用程序。 技术原理 技术原理一:安装Docker 一般都是在官网下载特定的docker文件,然后安装即可 技术原理…...

JAVA 中 Socket 和 WebSocket 区别

区别: Socket: Socket是位于java.net包下的一个类,是 Java 提供的用于在客户端和服务器之间建立网络通信的底层套接字接口,用于传输层的网络通信。 WebSocket: WebSocket 是一种基于 TCP 协议的通信协议,建立在 Socket 的基础上&#xff0c…...

python 接收到一个接口的数据 是json格式 ,然后把其中键值对的一个值改掉 再返回给接口

先上代码 import json import requests # 发送请求获取接口数据 response requests.get(http://example.com/api/data) # 解析JSON数据 data json.loads(response.text) # 更改某个键值对的值 new_value new_value data[key_to_change] new_value # 将更改后…...

⌈C++11⌋实现一个简易计算器

原理: 数据栈:有数据就直接入栈 运算符栈:设遍历到当前的运算符位e,如果栈不为空,比较栈顶与当前运算符优先级e,当栈顶运算符优先级大于或者等于e的优先级,则出栈,并将两个数据栈的…...

面试算法45:二叉树最低层最左边的值

题目 如何在一棵二叉树中找出它最低层最左边节点的值?假设二叉树中最少有一个节点。例如,在如图7.5所示的二叉树中最低层最左边一个节点的值是5。 分析 可以用一个变量bottomLeft来保存每一层最左边的节点的值。在遍历二叉树时,每当遇到新…...

Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.5.21.

前两天下了一个demo,运行时候报了一个这样的错,特此记录一下。 先看下报的错。 Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.5.21. Searched in the following…...

LoRaWan之LoRaMAC 的快速入门指南

概述 本快速入门指南简要介绍了 LoRaMAC 层的重要操作。示例部分提供了不同设备类别的完整示例。 初始化 LoRaMAC层的初始化函数是LoRaMacInitialization( LoRaMacPrimitives_t *primitives, LoRaMacCallback_t *callbacks, LoRaMacRegion_t region )。该函数具有三个参数:L…...

中国教育企业出海 新兴技术助力抢占先机

继游戏、电商、短视频等领域轮番出海之后,国内教育企业纷纷开启了出海之路。近日发布的《2023年教育应用出海市场洞察》报告显示,在中国教育企业出海市场中,语言学习是最主要的赛道,但赛道竞争更为激烈。 报告指出,全…...

IntelliJ IDEA2023旗舰版和社区版下载安装教程(图解)

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

【RxJava】map过程中各个Observable生命周期分析

map和flatMap的区别 首先说下map和flatMap的区别&#xff0c;防止有对RxJava还不够熟悉的小伙伴 map的Function指定如何将A转为BflatMap的Function则指定如何将Observable<A>转为Observable<B>map和flatMap最终的转换结果都是Observable<B>flatMap由于可以…...

vue 获取上一周和获取下一周的日期时间

效果图&#xff1a; 代码 <template><div><div style"padding: 20px 0;"><div style"margin-left: 10px; border-left: 5px solid #0079fe; font-size: 22px; font-weight: 600; padding-left: 10px">工作计划</div><di…...

线性代数 第四章 线性方程组

一、矩阵形式 经过初等行变换化为阶梯形矩阵。当&#xff0c;有解&#xff1b;当&#xff0c;有非零解。 有解&#xff0c;等价于 可由线性表示 克拉默法则&#xff1a;非齐次线性方程组中&#xff0c;系数行列式&#xff0c;则方程组有唯一解&#xff0c;且唯一解为 其中是…...

@DateTimeFormat和@JsonFormat注解

在日常开发中&#xff0c;有用到时间类型作为查询参数或者查询结果有时间参数的一般都会见过这两个注解。 DateTimeFormat(pattern “yyyy-MM-dd HH:mm:ss”)注解用于解析请求接口入参。将入参的字符串按照pattern设置的格式来转换成日期时间对象。 JsonFormat(timezone “G…...

做抖音短视频会经历哪些阶段?

今天来聊聊那些在抖音做大的老板&#xff0c;从开始到后期经历的四个阶段&#xff0c;以及每个阶段的工作重心 1、0—1的阶段 0—1的起步阶段是整个阶段最有难度的一环&#xff0c;很多人对0到1的认知是有错误的&#xff0c;以为爆过几条视频就已经进阶了 想要实现0-1的突破…...

【Mquant】2、量化平台的选择

文章目录 一、选择因素二、常见的量化平台三、为什么选择VeighNa&#xff1f;四、参考 一、选择因素 功能和工具集&#xff1a;量化平台应该提供丰富的功能和工具集&#xff0c;包括数据分析、策略回测、实时交易等。不同的平台可能有不同的特点和优势&#xff0c;可以根据自己…...

iPhone手机如何恢复删除的视频?整理了3个好用方法!

在日常生活中&#xff0c;我们会把各种各样的视频存放在手机里。这些视频记录着我们生活中的点点滴滴&#xff0c;每一帧都承载着珍贵的记忆。但如果我们不小心将这些重要视频删除了该怎么办&#xff1f;如何恢复删除的视频&#xff1f;本文将以iPhone手机为例子&#xff0c;教…...

全网最全的RDMA拥塞控制入门基础教程

RDMA-CC&#xff08;全网最全的RDMA拥塞控制入门基础教程&#xff09; 文章目录 RDMA-CC&#xff08;全网最全的RDMA拥塞控制入门基础教程&#xff09;DMARDMARDMA举例RDMA优势RDMA的硬件实现方法RDMA基本术语FabricCA&#xff08;Channel Adapter&#xff09;Verbs 核心概念Me…...

分布式消息队列:RabbitMQ(1)

目录 一:中间件 二:分布式消息队列 2.1:是消息队列 2.1.1:消息队列的优势 2.1.1.1:异步处理化 2.1.1.2:削峰填谷 2.2:分布式消息队列 2.2.1:分布式消息队列的优势 2.2.1.1:数据的持久化 2.2.1.2:可扩展性 2.2.1.3:应用解耦 2.2.1.4:发送订阅 2.2.2:分布式消息队列…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...