以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:这样的正则怎么写?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48533)

--  作者:苍风霁月
--  发布时间:2014/3/31 13:34:00
--  请教:这样的正则怎么写?

对正则了解不多,但现要用到。请教下面两个格式的正则怎么处理。

 

数据格式一:(10ml:5mg)

 

要取出“10ml”和“5mg"两组进行数据处理。

 

数据格式二:2.25g(成份一1.5g:成份二0.75g)

 

要分别取出以下数据处理:2.25、g、成份一、1.5、g、成份二、0.75、g。

 

请会的教一下!

 


--  作者:有点甜
--  发布时间:2014/3/31 14:01:00
--  

格式一:

 

Dim data As String = "(10ml:5mg)"
Dim reg As new System.Text.RegularExpressions.Regex("[0-9a-zA-Z]+")
Dim mc As object = reg.Matches(data)
msgbox(mc.count)
msgbox(mc(0).value)
msgbox(mc(1).value)


--  作者:苍风霁月
--  发布时间:2014/3/31 14:07:00
--  
非常感谢,学习了
--  作者:有点甜
--  发布时间:2014/3/31 14:10:00
--  

格式二:

 

Dim data As String = "2.25g(成份一1.5g:成份二0.75g)"
Dim reg As new System.Text.RegularExpressions.Regex("[0-9.g]+|[\\u4e00-\\u9fa5]+")
Dim mc As object = reg.Matches(data)
msgbox(mc.count)
For i As Integer = 1 To mc.count
    msgbox(mc(i-1).value)
Next


--  作者:苍风霁月
--  发布时间:2014/3/31 14:15:00
--  

好像还有些不理解

1、开始结束都是括号,怎么表示?

2、上面表达式里没有用于分组的括号,如何来的mc(1)?