文本块匹配需要正则表达式帮助-javascript
我试图帮助一些人对VS代码进行扩展,但当涉及到匹配我们使用的语言的一个称为文本块的特性时,我们遇到了一些困难 文本块以@符号开头,后面紧跟一个可包含任何\w字符的标记。文本块以相同的标记结束,在空行上没有装饰。中间的文本可以包含任何常规ascii字符。例如:文本块匹配需要正则表达式帮助-javascript,javascript,regex,Javascript,Regex,我试图帮助一些人对VS代码进行扩展,但当涉及到匹配我们使用的语言的一个称为文本块的特性时,我们遇到了一些困难 文本块以@符号开头,后面紧跟一个可包含任何\w字符的标记。文本块以相同的标记结束,在空行上没有装饰。中间的文本可以包含任何常规ascii字符。例如: string text = @text 这是一个文本块,这是一个 可以允许您输入大量文本 并将它们赋给一个变量。使用的标签 由开发人员决定,可以是任何东西 甚至像上面这样的新线 或者像这样的台词 任何帮助都将不胜感激 text ; st
string text = @text
这是一个文本块,这是一个
可以允许您输入大量文本
并将它们赋给一个变量。使用的标签
由开发人员决定,可以是任何东西
甚至像上面这样的新线
或者像这样的台词
任何帮助都将不胜感激
text
;
string text2 = @text
当然,你也可以
其中的多个:/
文本
;
如果您有任何帮助,我们将不胜感激,并提前感谢您的关注。您可以使用
@(\w+)\r?\n(?:[ -~]*\r?\n)*?\1$
@逐字匹配
\w+\r?\n在组1中捕获1+个单词字符,后跟换行符
?:[-~]*\r?\n*?对后跟换行符的任何ASCII字符重复尽可能少的次数
\1对组1中捕获的内容的反向引用将结束标记与同一单词匹配
$字符串结尾
听起来你需要一个解析器,而不是正则表达式。谢谢你,这帮了大忙。你的解释肯定也很有帮助。