我想从以下内容中选择word2:
word2;word3
word2 位于 ; 和行首之间,除非中间有 =。在那种情况下,我想从 = 而不是行的开头 像 word2 来自
word1=word2;word3
我试过使用这个正则表达式
(?<=\=|^).*?(?=;)
从中选择word2
word2;word3
还有来自
的整个word1=word2
word1=word2;word3
请您参考如下方法:
您可以使用可选组来检查后跟等号的单词并捕获第一个捕获组中的值:
^(?:\w+=)?(\w+);
解释
^字符串开始(?:\w+=)?可选的非捕获组匹配 1+ 个单词字符后跟=(\w+)在第一个捕获组中捕获1+个字符;匹配;
查看 regex demo
在 .NET 中,您还可以使用:
(?<=^(?:\w+=)?)\w+(?=;)
