作者:绿色风
分类:
时间:2022-08-18
浏览:168
楼主 kevinchengcw |
字符串:ajf666lkDj438fdlllkajF67867777777869eR03i323000gfdlkfgie9i88d9999d 测试内容:请给出正则表达式实现提取数字前字母,要求:提取偶数前的两位字母或奇数前的一位字母,不足位数的不用提取 得到结果:jf Dj jF eR i e d
答题时限:15天
欢迎参与,开题后欢迎讨论。
开帖时间:2011年1月2日
参考答案:[A-Za-z]{2}(?=[02468])|[A-Za-z](?=[13579])
本题主要测试断言的应用,答案基本是一致的。
|
2楼 wqfzqgk |
[A-Za-z]{1}[13579]|[A-Za-z]{2}[02468](这个有数字) [A-Za-z]{2}(?=[02468])|[A-Za-z]{1}(?=[13579])
- Sub test()
- Set re = CreateObject("vbscript.regexp")
- With re
- .Global = True
- .Pattern = "[A-Za-z]{2}(?=[02468])|[A-Za-z]{1}(?=[13579])"
- End With
- I = 1
- For Each mt In re.Execute("ajf666lkDj438fdlllkajF67867777777869eR03i323000gfdlkfgie9i88d9999d")
- Cells(2, I) = mt
- I = I + 1
- Next
- End Sub
|
3楼 liuguansky |
- Sub justtest()
- Dim Regex As Object, str1$, mat, k&, arr()
- Set Regex = CreateObject("vbscript.regexp")
- Cells(1, 1) = "ajf666lkDj438fdlllkajF67867777777869eR03i323000gfdlkfgie9i88d9999d"
- With Regex
- .Global = True
- .MultiLine = True
- .Pattern = "[a-zA-Z]{2}(?=[02468])|[a-zA-Z](?=[13579])"
- str1 = Cells(1, 1).Value
- For Each mat In .Execute(str1)
- k = k + 1
- ReDim Preserve arr(1 To k)
- arr(k) = mat
- Next
- Cells(2, 1).Resize(1, k) = arr
- End With
- Set Regex = Nothing
- End Sub
|
4楼 xyh9999 |
k哥又出题了也不通知我一下,不仗义! ([A-Za-z]{2})(?=[02468])|([A-Za-z])(?=[13579]) |
5楼 raulerini |
来试试。- Sub raulerini()
- Dim regexp As New regexp '事先引用了REGEXP 5.5
- ' set regexp=createobject("vbscript.regexp")
- Dim mymatch As Match
- mystr$ = "ajf666lkDj438fdlllkajF67867777777869eR03i323000gfdlkfgie9i88d9999d"
- regexp.Pattern = "([a-zA-Z]{2}(?=[02468]))|([a-zA-Z]{1}(?=[13579]))"
- regexp.Global = True
- regexp.MultiLine = True
- Set matches = regexp.Execute(mystr)
- For Each mymatch In matches
- myresult = myresult & " " & mymatch
- Next
- MsgBox myresult
- End Sub
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一