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

如何建网站看到物联网设备信息百度做广告费用

如何建网站看到物联网设备信息,百度做广告费用,合肥优化排名推广,大学生个人网站制作正则使用不当,会导致CPU飙升;场景区分,是判断存在还是提取内容;匹配范围,是匹配部分内容还是整行; 一、初识正则 正则表达式 – 语法 | 菜鸟教程 sparksql 正则匹配总结 https://www.cnblogs.com/he1m4n…

  1. 正则使用不当,会导致CPU飙升;
  2. 场景区分,是判断存在还是提取内容;
  3. 匹配范围,是匹配部分内容还是整行;

一、初识正则

正则表达式 – 语法 | 菜鸟教程

sparksql 正则匹配总结

https://www.cnblogs.com/he1m4n6a/p/10256163.html

二、匹配模式 - 贪婪、懒惰、独享

JAVA进阶篇(13)— 正则表达式的性能优化(正则表达式导致CPU飙升)

正则表达式的三种模式:贪婪模式、懒惰模式、独占模式

贪婪模式
默认模式,尝试匹配尽可能多的字符。
常用量词:`*`, `+`, `?`, `{n,}` 等。
场景举例:当你想要匹配一个字符串中尽可能长的特定模式时。
例子:`<.*>` 用于匹配从一个 `<` 到下一个 `>` 之间的所有内容。

懒惰模式
最小匹配,尝试匹配尽可能少的字符。
常用量词:`*?`, `+?`, `??`, `{n,}?` 等。
场景举例:当你想要匹配最短的可能字符串时
例子:`<.*?>` 用于匹配 `<` 和最近的一个 `>` 之间的内容。

独享模式
类似于贪婪模式,但是一旦匹配,就不会回溯。
常用量词:`*+`, `++`, `?+`, `{n,}+` 等。
场景举例:当你确定不需要回溯时,或者当你想要避免正则表达式中的回溯导致的性能问题时,使用独享模式会更高效。
例子:`<.*+>` 用于匹配 `<` 之后的所有内容,直到字符串结束,而不尝试匹配闭合的 `>`。

三、回溯原理

导致性能下降最主要原因:

  1. .* 会导致大量回溯
  2. | 分支操作

https://zhuanlan.zhihu.com/p/27417442

四、优化正则

优化方向 - 是用于判断存在,还是用于提取内容

  • 正则表达式:规则越多,要匹配的越多,性能越差;
  • 被测串长度:越长,搜索约耗时,性能越差;
  • 被测数据量:越多,性能差异约明显;
  • 预处理:减少匹配规则
  • 替代正则:用非正则函数实现

1. 使用正确的量词
不随意使用+或*,它会匹配尽可能多的字符,这可能导致回溯,特别是当模式不匹配时;

改用非贪婪量词(如 `*?` 和 `+?`);尤其避免:.*、.+

用于判断时, .*不要放在规则最后;

2. 使用更为精确的字符类
不随意使用.*来匹配字段,这个表达式包含了很大的搜索空间,容易发生不必要的匹配和回溯,导致匹配性能下降;

2. 消除不必要的字符组
例如:[@]简化为@ 、[0-9]可以简化为\d

3. 锚定匹配位置
使用锚点(如 `^` 和 `$`)来指定匹配的开始和结束位置,可以减少搜索空间,提高匹配效率;

使用.*开头的表达式应该在最前面加^,例如:.*abc  vs  ^.*abc

“^(?:abc|123)”比“^123|^abc”效率高,而“^(abc)”比“(^abc)”效率更高

^(?:aa|bb|cc)  效率高于 ^(aa|bb|cc).* 

4. 优化多选结构
尽量避免多选结构,a|b|c 优化为 [abc] 
提取开头的必需元素, (?:this|that) 优化为 th(?:is|at)

5. 优化捕获组

如果只是为了匹配文本而不关心匹配的具体内容,尽量不要使用捕获组;

当要捕获组的时候,使用非捕获型括号(?:),因为使用(?:)可以匹配想要的内容,但不捕获到组里,可以节省资源提高效率;


6. 避免使用嵌套的量词
如 `(a+)+`

7. 使用非正则函数
如果你的操作可以用字符串处理方法完成(比如`startsWith`、`endsWith`、`contains`),那么不使用正则表达式通常会更快。

8. 逆向思维
正向判断的正则不好实现,是否可以考虑反向的;

五、常用工具

regex101: build, test, and debug regex

正则表达式在线测试 | 菜鸟工具

六、性能比对

1. 实际运行任务测试

  • 使用和不使用正则比对
  • 多个不同的正则比对

2. 使用正则工具

http://www.yayakq.cn/news/783617/

相关文章:

  • 山东淄博网站建设公司洛阳有哪些做网站的公司
  • 网站推广seo招聘重庆网站制作公司重庆
  • 被墙网站怎么做301跳转北京广告设计公司排名前十强
  • 网站建设公司河南推荐做问卷的网站
  • 深圳工信部网站免费网站设计软件
  • 如何在公司系统建网站wordpress元关键词
  • 娄底建设企业网站wordpress信息搜集
  • 亳州市网站建设公司西安seo管理
  • 沈阳德泰诺网站制作懒人手机网站模板
  • 海口网站建设发布北京低价做网站
  • 微信网站开发rem px长春 行业网站
  • 泉州专业网站建设网站建设七大步骤
  • 品牌网站建设有哪些功能海珠建网站的公司
  • 企业建筑网站网页美工设计ppt
  • 网站如何增加增删查改怎么做深圳建立网站公司网站
  • 百度网站排名规则互联网营销成功案例
  • 医药网站前置审批临清网站建设临清
  • 汕头网站建设公司天津平台网站建设公司
  • 长沙工程建设管理中心网站广州市住房与城乡建设厅网站
  • 温州外贸网站制作网站建设 创业
  • 沈阳网站建设的价格怎么把网址做成网页链接
  • 网站建设的步骤过程ppt淄博网站建设公司哪家好
  • 葫芦岛公司做网站电商网站建设哪家公司好
  • 北京迈程网络网站建设公司如何自己建网站服务器
  • 开一家网络公司做网站前景如何高端的扬中网站建设
  • 自己做网站要多少钱大连建设网水电费查询官网
  • 淘宝客怎么在网站做推广网站建设代码介绍
  • 南沙区交通和建设局网站婚纱网站设计首页
  • 学前端要逛那些网站门户型网站建设方案
  • 大兴快速网站建设哪家好wordpress 积分集成