创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
正则抒发式在线测试-菜鸟用具松岛枫快播
正则抒发式替换函数Function RE(ByVal source_str$, pat$, Optional replace_str$ = "$1") '通用正则替换函数,函数界说RE(字符串,正则时势,替换值)对字符串复返正则替换后的字符串 '可在表格中使用,仅适用单个单位格 With CreateObject("vbscript.regexp") '正则抒发式 .Global = True .Pattern = pat RE = .Replace(source_str, replace_str) End With End Function欺诈1,索求1个字母+10个数字
《excel吧发问-索求共同特征的数据》
正则:.*([a-zA-Z]\d{10}).*
图片松岛枫快播松岛枫快播
欺诈2,中英文分割《excel吧发问-中英文分离》
正则:索求中语[a-zA-Z]*或[^一-龥]*或([a-zA-Z]+) 正则:索求英文[^a-zA-Z]*或[一-龥]*或.*?([a-zA-Z]+).*
图片
欺诈3,索求11位手机号《excel吧发问-索求11位手机号》
正则:.*(\d{11}).*
图片
欺诈4,指定笔墨替换《excel吧发问-将一列本色引入到另一列本色中间》
正则:([a-zA-Z]\d+)
图片
欺诈5,索求终末一个括号的本色《excel吧发问-单位格字数不等,括号个数不等,怎么截取终末一个括号的本色》
色尼 姑正则:.*(?=\()
图片
欺诈6,索求总共括号的本色正则:.*?(\(.*?\))
图片
欺诈7,索求地址中的省、市、县、乡《wps吧发问-如何将省市县乡分列披露》
正则:(.*?(省|市|自治区))?(.*?(市|区|自治州|盟|地区))?(.*?(县|市|区|旗))?(.*?(乡|镇|街说念))?(.*)
提防:直辖市地址应如下图所示写法
图片
参考而已: 《百度百科-地级行政区》 《百度百科-县级行政区》
欺诈8,仅保留数字和璀璨《excel吧发问-如何去除单位格中的笔墨、字母,只保留数字和标点璀璨》
正则:[^\d-,]
提防:文中为中语逗号
图片
欺诈9,索求单价(整数、浮点数)《excel吧发问-如何索求内部的单价》
正则:.*?(\d+(\.\d+)?)元.*
图片
正则抒发式赢得函数2023.7.30更新,加多补助复返遵守既能输出数组,又能输出数组的第n个值
Function RE_execute(ByVal source_str$, pat$, Optional n& = 0) '通用正则赢得函数,函数界说RE_execute(字符串,正则时势,复返值)对单位格复返正则赢得后的字符串数组 '复返值n为0时复返数组遵守,为其他整数时复返第n个值,正数法令负数倒序(-1为终末一个) Dim result, i&, num& With CreateObject("vbscript.regexp") '正则抒发式 .Global = True .Pattern = pat Set mhs = .Execute(source_str) num = mhs.Count If num = 0 Then RE_execute = "": Exit Function ReDim result(1 To num) For i = 0 To num - 1 result(i + 1) = mhs(i).Value Next If n = 0 Then RE_execute = result ElseIf n > 0 And n <= num Then RE_execute = result(n) ElseIf n < 0 And Abs(n) <= num Then RE_execute = result(n + num + 1) Else RE_execute = "" End If End With End Function欺诈1,索求品名、型号
《excel吧发问-索求品名、型号》
Sub 品名型号() Dim s$, rng, r '一定要界说类型,不然报错“ByRef参数类型不符” Set rng = Intersect(ActiveSheet.UsedRange, Selection) 'intersect语句幸免遴选整列形成无须讨论 If rng.Columns.count > 1 Then Debug.Print "仅补助单列": Exit Sub '仅补助单列,多列则退出 For Each r In rng s = r.Value result = RE_execute(s, "[A-Za-z0-9/-]+") If IsArray(result) Then r.Offset(0, 2).Resize(1, UBound(result)) = result Next End Sub
图片
欺诈2,索求数字、运算符《excel吧发问-索求数字、运算符》 该正则匹配绝顶暴力,适用整数、少量的 A*B*C=D 形势
Sub 数字运算符() Dim s$, rng, r '一定要界说类型,不然报错“ByRef参数类型不符” Set rng = Intersect(ActiveSheet.UsedRange, Selection) 'intersect语句幸免遴选整列形成无须讨论 If rng.Columns.count > 1 Then Debug.Print "仅补助单列": Exit Sub '仅补助单列,多列则退出 For Each r In rng s = r.Value result = RE_execute(s, "\d+(\.\d+)?\*\d+(\.\d+)?\*\d+(\.\d+)?\=\d+(\.\d+)?") If IsArray(result) Then r.Offset(0, 2).Resize(1, UBound(result)) = result Next End Sub
图片
欺诈3,索求数字规格《excel吧发问-索求数字规格》
Sub 索求数字() Dim rng As Range, r, s$ Set rng = [a2:a11] For Each r In rng s = r.Value result = RE_execute(s, "\d+(\.\d+)?(\-\d+)?") If IsArray(result) Then r.Offset(0, 1).Resize(1, UBound(result)) = result Next End Sub
图片
欺诈4,自动讨论积分《excel吧发问-汇总积分》,索求+大约-之后的数字,对数字乞降
Sub 自动讨论积分() Dim rng As Range, r, arr, a Set rng = [a2:a5] For Each r In rng arr = RE_execute(r.Value, "[+-]\d+") a = Join(arr, "") r.Offset(0, 1) = Application.Evaluate(a) Next End Sub
图片
欺诈5,规格索求 驳斥区发问,对2种规格分歧索求,同期使用了RE函数和RE_execute函数Sub 规格索求() Dim col, rng, r, s, result '一定要界说类型,不然报错“ByRef参数类型不符” col = 1 '需要处置的列号,字母"a"=数字1 With ActiveSheet Set rng = Intersect(.UsedRange, .Cells(1, col).EntireColumn) 'intersect语句幸免遴选整列形成无须讨论 For Each r In rng If Len(r) Then result = RE_execute(r.Value, "\d+(\.\d+)?~\d+(\.\d+)?") r.Offset(1, 2).Resize(2, 1) = WorksheetFunction.Transpose(result) s = RE(r.Value, ".*?\*(\d+(\.\d+)?\*\d+(\.\d+)?)") r.Offset(1, 3).Resize(2, 1) = WorksheetFunction.Transpose(Split(s, "*")) End If Next End With End Sub
图片
也可仅使用RE_execute函数索求规格,以下代码调用了《Excel·VBA单位格区域行列数退换函数》wraparr函数(如需使用代码需复制)Sub 规格索求2() Dim col, rng, r, result '一定要界说类型,不然报错“ByRef参数类型不符” col = 1 '需要处置的列号,字母"a"=数字1 With ActiveSheet Set rng = Intersect(.UsedRange, .Cells(1, col).EntireColumn) 'intersect语句幸免遴选整列形成无须讨论 For Each r In rng If Len(r) Then result = RE_execute(r.Value, "\d+(\.\d+)?(~\d+(\.\d+)?)?") result = wraparr(WorksheetFunction.Transpose(result), "col", 2) r.Offset(1, 2).Resize(2, 2) = result End If Next End With End Sub
图片
本站仅提供存储做事,总共本色均由用户发布,如发现存害或侵权本色,请点击举报。