示例字符串,行首为TAB,maxLen = 256
和;
之间为空格或制表符。
我只需要匹配"TABmaxLen = 256"
部分,忽略其余部分maxLen = 256 ; Maximum string size + 1
我的正则表达式由于某种原因不起作用,因为它匹配;
之前的所有字符,包括空格和制表符,但我需要忽略;
之前的空格和制表符(\t.*)(?!\s\t);
TABmaxLen = 256
只是一个示例,它应该匹配除;
后面和结尾的空格和制表符以外的任何内容
- 编辑:**
更多信息:
这是示例ASM代码,每行,我只想匹配那些有内联注解的行,但只有代码,没有空格和制表符,也没有内联注解。
; a function result to a C + + program.
option casemap:none
nl = 10 ; ASCII code for newline
maxLen = 256 ; Maximum string size + 1
.data
titleStr byte 'Listing 1 - 8', 0
regex应与上述2个示例匹配(包括起始选项卡):
nl = 10
maxLen = 256
1条答案
按热度按时间afdcj2ne1#
您可以匹配制表符,然后捕获除
;
之外的任何字符,并匹配结束空格字符,直到;
\t
匹配选项卡(
捕获组1[^\s;][^;]*?
匹配除;
以外的单个非空白字符,然后匹配除;
以外的任何非贪婪字符)
关闭组1\s*;
匹配可选的空白字符,后跟;
参见regex101 demo。
另一个选项用于仅匹配和查找,并在末尾Assert1个或多个空白字符,后跟
;
查看其他regex101 demo