我正在尝试在TS中使用RegExp捕获以下行
таб. 10мг/10мг х 30
x 30
我正在使用此正则表达式
^.*?(капс|капли|таб|амп|супп|фл|мазь|гель|паста|кап|крем)?(?:(?:((\d+)(?:,\d+)?)\s?(мл|л|мг|г))(?:\/((\d+)(?:,\d+)?)\s?(мл|л|мг|г))?).*?(?:(?:x|х)\s*(\d+))?$
问题是,如果我在最后一个?
之前使用.*?
,它不会捕获第一行中的所有数字,如果我不这样做,它自然不会t捕获第二行。
我有什么想念的吗?谢谢!
答案 0 :(得分:0)
您的模式不允许.
,并且在组之后必须有所有与таб
匹配的替代选项。试试这个:
^.*?(?:(капс|капли|таб|амп|супп|фл|мазь|гель|паста|кап|крем)\.\s+)?(?:(?:((\d+)(?:,\d+)?)\s?(мл|л|мг|г))(?:\/((\d+)(?:,\d+)?)\s?(мл|л|мг|г))?).*?(?:(?:x|х)\s*(\d+))?$