我的正则表达式不起作用

时间:2014-03-20 02:43:08

标签: c# regex

这是我想要匹配的字符串

"NNNN.[LOOP]S[SENSOR] [TEXT]"

这是我正在使用的RegEx

"NNNN.([^\n\r/.]*)S([^\n\r/.]*) ([^\n\r/.]*)"

我希望这个匹配 " [LOOP]"," [SENSOR]"和" [TEXT]"

然而它匹配" [LOOP] S [SEN"," OR]"和" [TEXT]"

请发送帮助

1 个答案:

答案 0 :(得分:3)

试试这个:

NNNN\.(\[[^\s]+\])S(\[[^\s]+\])\s(\[[^\s]+\])

请注意,您必须转义点“。”和方括号“[”“]”

这将匹配: NNNN 字符串,后跟一个点 \。,后跟一个字符串(不包含空格),括号(\ [ [^ \ s] + \]),后跟 S ,后跟括号(\ [[^ \ s] + \]),后跟一个空格 \ s ,然后是括号(\ [[^ \ s] + \])之间的第三个字符串。