我一直想知道输入 anchor (^
)的开头是如何在flex中转换为FSA的。我知道行尾 anchor ($
) 与表达式 r/\n
匹配,其中 r
是要匹配的表达式。输入 anchor 的开头是如何匹配的?我看到的唯一解决方案是使用启动条件。如何在程序中实现?
最佳答案
行尾标记 $
与 \n
的不同之处在于它也匹配 EOF
,即使行尾在文件末尾找不到标记 \n
或 \r\n
。
我没有看 flex 的实现,但我会使用 bool 标志实现 ^
和 $
。 ^
标志将被初始设置,然后在一行中的第一个字符后重置为 false
,然后在下一个结束后设置回 true
线标记等。
关于regex - flex如何匹配行 anchor 的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127310/