使用正则表达式检测以分号结尾的单词

Detect word that end with a semicolon with regex

我很想写一个正则表达式模式来检测一个单词是否以 var 开头并以分号结尾。我有正则表达式代码,但是当 运行 它匹配最后一个分号所在的位置,而不是匹配每个以分号结尾的单词。这是我的正则表达式模式。

dim pattern as string = "^[var].+;$"; help please.

看来你想要这样的东西,

(?<!\S)var\S*;(?!\S)

(?<!\S) 断言匹配 var 之前不会有非 space 字符。 \S* 匹配零个或多个非 space 字符。 ;(?!\S) 仅当分号后面没有非 space 字符时才匹配分号。

DEMO

(?<!\S)var.*?;(?!\S)

DEMO

您的正则表达式现在匹配以 'v'、'a' 或 'r' 开头并以分号结尾的整行。

如果你想匹配以 var 开头并以分号结尾的整行,这是这样的:

"^var.+;$"

如果只有行内的变量定义则:

"var.+;"

第二种方式将匹配以下内容:

var a;

var b, c;

a = 5; var b, c = a; //评论

a = 5; //注释 var ;

粗体表示匹配