以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用正则表达式提取内容 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122560) |
-- 作者:sunnyfastener -- 发布时间:2018/7/27 23:11:00 -- 用正则表达式提取内容 对国家标准的描述,用正则表达式来拆分,、 如:GB/T901-2010 想分别提取GB、/T、901、2010四部分 1、第一部份"GB",都是字母组成 2、第二部份"/T",是固定格式,有些客户会简写成T,变成GBT 3、第三部份是标准号,则数字或数字带点组成,如901.1 4、第四部份是年份号,有时年份号也会简写,如2010写成10 向各位高手求助 |
-- 作者:有点蓝 -- 发布时间:2018/7/28 9:14:00 -- Dim s As String="GB/T901-2010" Dim p2 As String = "(/T)|(T)|(-)" Dim r As New System.Text.RegularExpressions.Regex(p2) Dim str = r.Split(s) For Each a As String In str Output.Show(a) Next
[此贴子已经被作者于2018/7/28 9:13:57编辑过]
|
-- 作者:sunnyfastener -- 发布时间:2018/7/28 11:29:00 -- 谢谢!!@有点蓝 但我想用matchs的方式,这样可能更灵活点 我尝试着写: dim pattern as string = "([A-Z]+)/?(T?)(\\d+)-?(\\d{2-4})?" 这什么都匹配不到
|
-- 作者:有点蓝 -- 发布时间:2018/7/28 11:34:00 -- 如果要分割,只能是Split |