我正在尝试编写一个折叠表达式,但是我无法使正则表达式正常工作。
我要检查的字符串和正则表达式为:
# -- Heading 1 --
^.*-{2}\s([\_a-zA-Z0-9]\s*)+\s-{2}$
我使用哪种语法进行检查? 我尝试过:(似乎不起作用)
if match(line , "\v regex") >= 0
if line =~ "\v regex"
答案 0 :(得分:2)
您可以使用match()
或=~
,但是正则表达式是错误的。
有很多猜测,因为我不知道所有潜在的输入,但是我想你的意思是:
^.*-\{2}\s\%([_a-zA-Z0-9]\+\s\)\+-\{2}$
或使用字符类的稍有不同的变体:
^\v.*-- [_[:alnum:][:blank:]]+--$
或者使用否定的集合(匹配-
以外的任何字符):
^\v# -- [^-]+ --$
疯狂!