添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

正则字符串是什么?

这个词是我自己这么叫的,就是可以用字符串来表示的正则。。。一般我们写正则,直接写在两个斜线中间:/这里是正则表达式/

可是你要想写个动态正则,你就得借助字符串来完成了,因为字符串可以动态生成,并且当做参数去构造出正则的对象。但是这个参数直接加双引号变成:"/这里是正则表达式/" 这样就可以了吗?

如果去尝试一下,就知道咿~不对。。。为什么不对呢?先来看看escape这个东西吧。

一直对escape这个词有陌生感,因为他的英文是逃避躲开的意思,而程序中它有另一个名字叫做转义。

其实顾名思义,转义就是转换意义的意思,也算式一种避开本身意义的行为吧。那么什么是转义呢?为什么需要转义呢?

因为在特定环境中,字符串中的【某些字符或者字符组合】有某个意义,而希望它表示其他意义的时候,就需要转义了

感觉说了废话,所以上例子:

"Hello "World.""

由于字符串中的两个双引号,和字符串开头和结尾的双引号引起了歧义,所以程序解释器不知道这个字符串合适结束,而你又想表示确确实实看到的这个由这些字符和四个双引号组成的字符时,就需要转义,让解释器明白我只是想表示双引号这个字符而不是它本来的字符串识别符。所以变成下面就可以了:

"Hello \"World.\""

那么对于普通js字符串,可以进行转义的有哪些呢?

所以你想在字符串里使用' " \ 来表示这些字符本来的意义就需要转义成:' " \\ 来让程序解析器正确理解你的意图,原来你只是想表示这些字符本来的意义,而不是表示字符的开始和结束以及转义符。。。。

好了,再说回来我们的正则字符串, 举个例子:
如下匹配任意一个单字符(除了换行符)

/./.exec('abcd')

如果传字符串呢?你会想怎么传?这样?"."

var reg = new RegExp(".")
reg.exec('abcd')

没错,正如你所想没问题,两种写法都是一样的。

可是如果你只想匹配一个.这个本身字符呢?

/\./.exec('abd.ff.')

没错,是这样写,注意这里的.其实是正则表达的转义,在正则里.表示任意单个字符,当你想表示.字符串本身的时候就需要转义成.了,可是这和上面提到的字符串转义什么关系呢?

没有关系。。。

他们是相互独立的转义体系,没有关系,但是当你想用字符串来表示正则表达式的时候它们就产生了联系而已,这也就是为什么在刚开始写正则字符串的时候会懵逼一下的原因吧。。。。那产生了联系怎么写呢?这样吗?

var reg = new RegExp("\.")

你会发现它和下面的是一样的

var reg = new RegExp(".")

并没有只匹配.字符,这是为什么呢?看图

所以这里进行了两次转义才到达你最终的目的的,所以就应该这么写:

var reg = new RegExp("\\.")

字符串"\\."先转义成字符串"\.",然后再作为参数传给正则引擎,自然理解你想要匹配的是.这个字符,而不是任意一个字符了。

感受一个长一点的, 我想匹配这个正则/\.\w\\a/ 它的正则字符串是什么呢?如下:

'\\.\\w\\\\a'

现在在看这堆东西是否清晰了一些呢

本文是 2023 年初学习 AIGC 相关概念的时候写的一些笔记,主要内容来自于腾讯的AIGC发展趋势报告 2023,和阅读报告时对一些技术背景的补充了解。比较适合像我这样的AIGC领域小白扫盲。下面开始具体内容 为什么 AI 能力在 2022 年火了? 总的来看,AIGC 在 2022 年的爆发,主要是得益于深度学习模型方面的技术创新。不断创新的生成算法、预训练模型、多模态等技术融合带来了 AIGC 技术变革,拥有通用性、基础性多模态、参数多、训练数据量大、生成内容高质稳定等特征的 AIGC 模型成为了自动化内容生产的“工厂”和“流水线”。AIGC 是什么? AIGC(Artifical Intelligence Generated Content),狭义的含义是指利用人工智能自动生成内容,广义上可以看作是像人类一样具备生成创造能力的 AI 技术。国内通常用 AIGC,国外常用

Sora 是什么Sora 是 OpenAI 推出的一个人工智能模型,能根据文字说明创造出逼真而富有想象力的场景。官网链接 为什么这么火​​Sora 火到什么程度就不用展开说了,毕竟国内都开始卖课了😓。前有 Pika、Runway 这些文生视频的模型,为什么 Sora 这么火🔥? 当然是因为它厉害,可以说是把视频生成内容拉到了一个全新的高度。主要有以下几方面能力吊打其他模型 1) 超长的生成视频时长 根据 OpenAI 官网展示的视频,Sora 生成的视频平均长度将近 16 秒,最长达到20秒,而相比之下,其他文生视频模型如 Pika、Runway、PixVerse 生成的视频长度均在 3~4 秒左右。官网目前说 Sora 最长可以生成长达一分钟的视频。 2)任意的视频尺寸 Sora 是一个通用的视觉数据模型,可以生成不同长度、长宽比和分辨率的视频和图像。 2)

项目背景狐友作为搜狐的一款社交产品,在流量传播上有着旺盛的需求点。而在流量传播所需的众多载体之中,海报图片以其简单的分享形式、可定制的视觉体验、自带二维码识别导流等特点,成为了社交产品高频必备的流量载体。 作为狐友的前端开发,生成海报图片就成为了我们工作中持续不断的一个重要需求点。以下是狐友目前的产品前端服务矩阵和海报图片的产品形式。 图 1 狐友产品前端服务矩阵和海报图片的产品形式海报图片实现现状从上图1可以看到,生成海报图片对于狐友产品矩阵来说是一个高频强需求。海报图片作为分享载体,对于各平台的分享流程对接也非常畅通和直观,例如不同于小程序卡片分享只能拘泥于微信平台,网页分享的链接形式不够直观。 而在海报图片这个重要环节,长期的主要技术手段一直是通过各客户端开发在本地设备上进行绘制,但这种方案存在如下的劣势困扰着我们: 各端无法复用:如图2, 如果要全平台都要做图片分享,那么需要各端分别开发,即使生成的图片一模一样,也要开发iOS、Android、H5、小程序一共4遍,整体开发各端无法互相复用。长图大图崩溃:客户端限于设备平台或系统限制,对于长图的生成并不友好,会出现长图因为内存或算力限制无法生成的情况,其中小程序尤为明显,在微信的框架下很容易长图生成造成程序直接崩溃。开发效率较低:客户端本地绘制海报图片,一般需要手写原生代码效率不高。小程序端虽然使用wxml-to-canvas(H5端使用html-to-canvas)来绘制减轻了一些手写命令式绘制代码的负担,但这种标记语言转canvas在实现上也存在缺陷,相比HTML+CSS的表达力还是非常受限。所以,海报图片在代码层面开发效率比较低。为了解决以上问题,我们开始着手调研并实践落地了一套全新的海报图片统一服务,