[英]How can I get a certain segment with regex?
在C#中,您可以只匹配所有(...)
子字符串,然后使用索引1訪問第二個字符串:
var rx = @"\([^)]*\)";
var matches = Regex.Matches(str, rx).Cast<Match>().Select(p => p.Value).ToList();
var result = matches != null && matches.Count > 1 ? matches[1] : string.Empty;
正則表達式匹配
\\(
-開頭(
[^)]*
-比其他0個或更多字符)
\\)
-結束)
。 我無法對其進行測試,但這可能可以工作:
\([^\)]*\)
(?<=^[^()]*\([^)]*\)[^()]*\()[^)]*
您可以簡單地使用它。 觀看演示
var regex = new Regex(@"\(([^)]*)\)", RegexOptions.Compiled);
string secondMatch = regex.Matches(text).Cast<Match>()
.Select(m => m.Value.Trim('(', ')'))
.ElementAtOrDefault(1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.