正则表达式,捕捉汇编程序

时间:2014-01-07 21:01:34

标签: regex

我对RegEx没什么问题(我是新手)。 我需要捕获字符串,其中包括开头和空格中的1到6个字母或者结尾处的换行符。 我试着用:

  1. http://regexpal.com/
  2. http://gskinner.com/RegExr/
  3. 写下这样的东西:

    .+(\s|\n)
    (\w+)(\n|\s)
    

    包含样本数据

    cls
    mov 12h,V0
    jmp 123h
    jmp 1234
    cls
    skeq
    

    但它不起作用。我需要抓住:

    1. CLS
    2. MOV
    3. JMP
    4. skeq
    5. 帮助; [ 如果你有很好的RegEx教程可以分享,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

首先,如果你想学习正则表达式,你可以看一下http://www.regular-expressions.info/

我不知道asm的所有助记符,我不知道你使用的正则表达式引擎(编辑帖子以精确它),但是使用它:

(?mi)^[a-z]{1,6}\b
如果支持,

必须完成这项工作。

(?mi) # i make the pattern case insensitive, m make ^ means start of the line
^     # start of the line
[a-z]{1,6} # between 1 and 6 character in a-z letters
\b         # word boundary, but replacing it with (?=\h) or (?=[^\S\r\n]) will be better if possible   

答案 1 :(得分:1)

获得你想要使用的东西

^(\w{1,6})(?:\s|\r?\n)?

指定了gm标记。

请参阅example@regex101