使用正则表达式检测以分号结尾的单词
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 字符时才匹配分号。
或
(?<!\S)var.*?;(?!\S)
您的正则表达式现在匹配以 'v'、'a' 或 'r' 开头并以分号结尾的整行。
如果你想匹配以 var 开头并以分号结尾的整行,这是这样的:
"^var.+;$"
如果只有行内的变量定义则:
"var.+;"
第二种方式将匹配以下内容:
var a;
var b, c;
a = 5; var b, c = a; //评论
a = 5; //注释 var ;
粗体表示匹配
我很想写一个正则表达式模式来检测一个单词是否以 var 开头并以分号结尾。我有正则表达式代码,但是当 运行 它匹配最后一个分号所在的位置,而不是匹配每个以分号结尾的单词。这是我的正则表达式模式。
dim pattern as string = "^[var].+;$"; help please.
看来你想要这样的东西,
(?<!\S)var\S*;(?!\S)
(?<!\S)
断言匹配 var
之前不会有非 space 字符。 \S*
匹配零个或多个非 space 字符。 ;(?!\S)
仅当分号后面没有非 space 字符时才匹配分号。
或
(?<!\S)var.*?;(?!\S)
您的正则表达式现在匹配以 'v'、'a' 或 'r' 开头并以分号结尾的整行。
如果你想匹配以 var 开头并以分号结尾的整行,这是这样的:
"^var.+;$"
如果只有行内的变量定义则:
"var.+;"
第二种方式将匹配以下内容:
var a;
var b, c;
a = 5; var b, c = a; //评论
a = 5; //注释 var ;
粗体表示匹配