正则表达式从主字符串

时间:2017-12-21 09:27:21

标签: regex

我正在尝试根据某些模式获取子字符串。试图获取第一个不应该在主字符串的第一个字符中的数字。

字符串:

BRUSPAZ 8MG
BRUSPAZ MG
BRUSPAZ 10 MG
BRUSPAZ10 MG
AVAS 40
AVAS 40 TEST 2TABS
MICROCEF CV 200 TABS 
1CROCIN DS 240 MG / 5 ML SUSPENSION

我的正则表达式: /(\d+)( )?(MG)?/

enter image description here

必填项:

enter image description here

1 个答案:

答案 0 :(得分:2)

这是正则表达式:

(?<!^)(\d+)(\s*MG)?
  • 我将( )?更改为\s*,以便考虑其他类型的空白和多个空格。
  • 我添加了(?<!^)。这是一个负面的背后,寻找^ - 字符串的开头。基本上它说&#34;在数字&#34;之前不应该有字符串的开头。
  • 如果逐行运行此正则表达式并转动全局修饰符,则不会匹配最后一行中的5。

如果你想匹配小数,请使用:

(?<!^)(\d+\.\d+)(\s*MG)?