![](/img/trans.png)
[英]How to perform partial search and return the full word with Regex.Match?
[英]Regex.Match goups includes full string, how to exclude
我有以下代碼;
var pattern = "(\".*\") (\".*\")";
var regex = Regex.Match(input, pattern);
input 的值將與此類似;
“字符串第 1 部分” “字符串第 2 部分”
正則表達式組包括以下
groups[0] = "string part1" "string part2"
groups[1] = "string part1"
groups[2] = "string part2"
有沒有辦法排除組[0],因為我只想連接字符串,同時刪除它們之間的“”,使其變為;
“字符串部分1字符串部分2”
對組中的值使用 LINQ .Skip(1)
。 然后,連接其余的項目:
var input = "\"string part1\" \"string part2\"";
var pattern = "\"(.*)\" \"(.*)\"";
var match = Regex.Match(input, pattern);
if (match.Success)
{
Console.WriteLine("\"{0}\"",
string.Join(
" ",
match.Groups
.Cast<Group>()
.Select(x=>x.Value)
.Skip(1)
)
);
}
注意我還移動了引號內的捕獲組邊界以去除組值中的引號。
另外,如果您想匹配最接近的引號之間的子字符串,請考慮另一種模式: var pattern = "\\"([^\\"]*)\\" \\"([^\\"]*)\\"";
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.