使用regex101我开发了这个正则表达式:
^(\S+)\s_(\S)(\S[^;\s]+)?.*
这适用于99.999%的时间,但偶尔会对包含应该匹配的2个字符的字符串运行。
例如,它通常会捕捉......
string _asdf = string.empty;
bool _ttfnow;
//$1 = string
//$2 = a
//$3 = sdf
and
//$1 = bool
//$2 = t
//$3 = tfnow
但由于某种原因,这与第三组无法匹配?
string _qw = string.empty;
//$1 = string
//$2 = q
//$3 =
再次使用regex101如果add添加一个char它会突然匹配,所以:
string _qwx = string.empty;
//$1 = string
//$2 = q
//$3 = wx
有什么想法吗?谢谢
答案 0 :(得分:1)
答案 1 :(得分:1)
[^;\s]+
将其更改为[^;\s]*
/^(\S+)\s_(\S)(\S[^;\s]*)?.*/