请为我详细解释以下 lex 模式

问题描述 投票:0回答:1

我正在使用以下模式调试 Flex 脚本。

[^A-Za-z0-9:=,{}<.@()[]'\"|&^*;!-]

有哪位高手能给我详细解释一下这个图案的含义吗? 为什么“'”没有通过这种模式排除? 如何让这个模式不匹配“'”?

regex lex asn.1
1个回答
0
投票

[^A-Za-z0-9:=,{}<.@()[]'\"|&^*;!-]
这是错误的模式。
[
]
\
为了将其用作剥离字符串,必须对其进行转义。

[]
表示正则表达式中的字符类。该字符类查找与方括号内包含的字符之一匹配的模式。例如,[abc] 表示哪个字符匹配“a”、“b”或“c”。

^
该符号在字符集中使用时表示否定。这里它用在方括号
[]
内,表示“不属于该集合”。

[^A-Za-z0-9:=,{}<.@()[]'\"|&^*;!-]
此正则表达式查找不包括括号内的字符串的字符串。

这是正确的模式

[^A-Za-z0-9:=,{}<.@()\[\]'\\"|&^*;!-]

© www.soinside.com 2019 - 2024. All rights reserved.